diff --git a/Doc/glossary.rst b/Doc/glossary.rst index ba4d300c0e9..e875e1fc8a0 100644 --- a/Doc/glossary.rst +++ b/Doc/glossary.rst @@ -458,6 +458,12 @@ Glossary is believed that overcoming this performance issue would make the implementation much more complicated and therefore costlier to maintain. + + hash-based pyc + A bytecode cache file that uses the the hash rather than the last-modified + time of the corresponding source file to determine its validity. See + :ref:`pyc-invalidation`. + hashable An object is *hashable* if it has a hash value which never changes during its lifetime (it needs a :meth:`__hash__` method), and can be compared to diff --git a/Doc/library/compileall.rst b/Doc/library/compileall.rst index c1af02b0d82..7b3963da894 100644 --- a/Doc/library/compileall.rst +++ b/Doc/library/compileall.rst @@ -83,6 +83,16 @@ compile Python sources. If ``0`` is used, then the result of :func:`os.cpu_count()` will be used. +.. cmdoption:: --invalidation-mode [timestamp|checked-hash|unchecked-hash] + + Control how the generated pycs will be invalidated at runtime. The default + setting, ``timestamp``, means that ``.pyc`` files with the source timestamp + and size embedded will be generated. The ``checked-hash`` and + ``unchecked-hash`` values cause hash-based pycs to be generated. Hash-based + pycs embed a hash of the source file contents rather than a timestamp. See + :ref:`pyc-invalidation` for more information on how Python validates bytecode + cache files at runtime. + .. versionchanged:: 3.2 Added the ``-i``, ``-b`` and ``-h`` options. @@ -91,6 +101,9 @@ compile Python sources. was changed to a multilevel value. ``-b`` will always produce a byte-code file ending in ``.pyc``, never ``.pyo``. +.. versionchanged:: 3.7 + Added the ``--invalidation-mode`` parameter. + There is no command-line option to control the optimization level used by the :func:`compile` function, because the Python interpreter itself already @@ -99,7 +112,7 @@ provides the option: :program:`python -O -m compileall`. Public functions ---------------- -.. function:: compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1, workers=1) +.. function:: compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1, workers=1, invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP) Recursively descend the directory tree named by *dir*, compiling all :file:`.py` files along the way. Return a true value if all the files compiled successfully, @@ -140,6 +153,10 @@ Public functions then sequential compilation will be used as a fallback. If *workers* is lower than ``0``, a :exc:`ValueError` will be raised. + *invalidation_mode* should be a member of the + :class:`py_compile.PycInvalidationMode` enum and controls how the generated + pycs are invalidated at runtime. + .. versionchanged:: 3.2 Added the *legacy* and *optimize* parameter. @@ -156,7 +173,10 @@ Public functions .. versionchanged:: 3.6 Accepts a :term:`path-like object`. -.. function:: compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1) + .. versionchanged:: 3.7 + The *invalidation_mode* parameter was added. + +.. function:: compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, legacy=False, optimize=-1, invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP) Compile the file with path *fullname*. Return a true value if the file compiled successfully, and a false value otherwise. @@ -184,6 +204,10 @@ Public functions *optimize* specifies the optimization level for the compiler. It is passed to the built-in :func:`compile` function. + *invalidation_mode* should be a member of the + :class:`py_compile.PycInvalidationMode` enum and controls how the generated + pycs are invalidated at runtime. + .. versionadded:: 3.2 .. versionchanged:: 3.5 @@ -193,7 +217,10 @@ Public functions The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no matter what the value of *optimize* is. -.. function:: compile_path(skip_curdir=True, maxlevels=0, force=False, quiet=0, legacy=False, optimize=-1) + .. versionchanged:: 3.7 + The *invalidation_mode* parameter was added. + +.. function:: compile_path(skip_curdir=True, maxlevels=0, force=False, quiet=0, legacy=False, optimize=-1, invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP) Byte-compile all the :file:`.py` files found along ``sys.path``. Return a true value if all the files compiled successfully, and a false value otherwise. @@ -213,6 +240,9 @@ Public functions The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no matter what the value of *optimize* is. + .. versionchanged:: 3.7 + The *invalidation_mode* parameter was added. + To force a recompile of all the :file:`.py` files in the :file:`Lib/` subdirectory and all its subdirectories:: diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst index 3d350e8d0d5..3cafb41d447 100644 --- a/Doc/library/importlib.rst +++ b/Doc/library/importlib.rst @@ -67,6 +67,9 @@ generically as an :term:`importer`) to participate in the import process. :pep:`489` Multi-phase extension module initialization + :pep:`552` + Deterministic pycs + :pep:`3120` Using UTF-8 as the Default Source Encoding @@ -1327,6 +1330,14 @@ an :term:`importer`. .. versionchanged:: 3.6 Accepts a :term:`path-like object`. +.. function:: source_hash(source_bytes) + + Return the hash of *source_bytes* as bytes. A hash-based ``.pyc`` file embeds + the :func:`source_hash` of the corresponding source file's contents in its + header. + + .. versionadded:: 3.7 + .. class:: LazyLoader(loader) A class which postpones the execution of the loader of a module until the diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst index 0af8fb15b36..a4f06de597b 100644 --- a/Doc/library/py_compile.rst +++ b/Doc/library/py_compile.rst @@ -27,7 +27,7 @@ byte-code cache files in the directory containing the source code. Exception raised when an error occurs while attempting to compile the file. -.. function:: compile(file, cfile=None, dfile=None, doraise=False, optimize=-1) +.. function:: compile(file, cfile=None, dfile=None, doraise=False, optimize=-1, invalidation_mode=PycInvalidationMode.TIMESTAMP) Compile a source file to byte-code and write out the byte-code cache file. The source code is loaded from the file named *file*. The byte-code is @@ -53,6 +53,10 @@ byte-code cache files in the directory containing the source code. :func:`compile` function. The default of ``-1`` selects the optimization level of the current interpreter. + *invalidation_mode* should be a member of the :class:`PycInvalidationMode` + enum and controls how the generated ``.pyc`` files are invalidated at + runtime. + .. versionchanged:: 3.2 Changed default value of *cfile* to be :PEP:`3147`-compliant. Previous default was *file* + ``'c'`` (``'o'`` if optimization was enabled). @@ -65,6 +69,41 @@ byte-code cache files in the directory containing the source code. caveat that :exc:`FileExistsError` is raised if *cfile* is a symlink or non-regular file. + .. versionchanged:: 3.7 + The *invalidation_mode* parameter was added as specified in :pep:`552`. + + +.. class:: PycInvalidationMode + + A enumeration of possible methods the interpreter can use to determine + whether a bytecode file is up to date with a source file. The ``.pyc`` file + indicates the desired invalidation mode in its header. See + :ref:`pyc-invalidation` for more information on how Python invalidates + ``.pyc`` files at runtime. + + .. versionadded:: 3.7 + + .. attribute:: TIMESTAMP + + The ``.pyc`` file includes the timestamp and size of the source file, + which Python will compare against the metadata of the source file at + runtime to determine if the ``.pyc`` file needs to be regenerated. + + .. attribute:: CHECKED_HASH + + The ``.pyc`` file includes a hash of the source file content, which Python + will compare against the source at runtime to determine if the ``.pyc`` + file needs to be regenerated. + + .. attribute:: UNCHECKED_HASH + + Like :attr:`CHECKED_HASH`, the ``.pyc`` file includes a hash of the source + file content. However, Python will at runtime assume the ``.pyc`` file is + up to date and not validate the ``.pyc`` against the source file at all. + + This option is useful when the ``.pycs`` are kept up to date by some + system external to Python like a build system. + .. function:: main(args=None) diff --git a/Doc/reference/import.rst b/Doc/reference/import.rst index 881e0aed32e..45d417295d0 100644 --- a/Doc/reference/import.rst +++ b/Doc/reference/import.rst @@ -675,6 +675,33 @@ Here are the exact rules used: :meth:`~importlib.abc.Loader.module_repr` method, if defined, before trying either approach described above. However, the method is deprecated. +.. _pyc-invalidation: + +Cached bytecode invalidation +---------------------------- + +Before Python loads cached bytecode from ``.pyc`` file, it checks whether the +cache is up-to-date with the source ``.py`` file. By default, Python does this +by storing the source's last-modified timestamp and size in the cache file when +writing it. At runtime, the import system then validates the cache file by +checking the stored metadata in the cache file against at source's +metadata. + +Python also supports "hash-based" cache files, which store a hash of the source +file's contents rather than its metadata. There are two variants of hash-based +``.pyc`` files: checked and unchecked. For checked hash-based ``.pyc`` files, +Python validates the cache file by hashing the source file and comparing the +resulting hash with the hash in the cache file. If a checked hash-based cache +file is found to be invalid, Python regenerates it and writes a new checked +hash-based cache file. For unchecked hash-based ``.pyc`` files, Python simply +assumes the cache file is valid if it exists. Hash-based ``.pyc`` files +validation behavior may be overridden with the :option:`--check-hash-based-pycs` +flag. + +.. versionchanged:: 3.7 + Added hash-based ``.pyc`` files. Previously, Python only supported + timestamp-based invalidation of bytecode caches. + The Path Based Finder ===================== diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst index d110ae3baf2..716bc821b4a 100644 --- a/Doc/using/cmdline.rst +++ b/Doc/using/cmdline.rst @@ -210,6 +210,20 @@ Miscellaneous options import of source modules. See also :envvar:`PYTHONDONTWRITEBYTECODE`. +.. cmdoption:: --check-hash-based-pycs default|always|never + + Control the validation behavior of hash-based ``.pyc`` files. See + :ref:`pyc-invalidation`. When set to ``default``, checked and unchecked + hash-based bytecode cache files are validated according to their default + semantics. When set to ``always``, all hash-based ``.pyc`` files, whether + checked or unchecked, are validated against their corresponding source + file. When set to ``never``, hash-based ``.pyc`` files are not validated + against their corresponding source files. + + The semantics of timestamp-based ``.pyc`` files are unaffected by this + option. + + .. cmdoption:: -d Turn on parser debugging output (for expert only, depending on compilation diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index 9363730bf1f..34876626597 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -197,6 +197,33 @@ variable is not set in practice. See :option:`-X` ``dev`` for the details. +Hash-based pycs +--------------- + +Python has traditionally checked the up-to-dateness of bytecode cache files +(i.e., ``.pyc`` files) by comparing the source metadata (last-modified timestamp +and size) with source metadata saved in the cache file header when it was +generated. While effective, this invalidation method has its drawbacks. When +filesystem timestamps are too coarse, Python can miss source updates, leading to +user confusion. Additionally, having a timestamp in the cache file is +problematic for `build reproduciblity `_ and +content-based build systems. + +:pep:`552` extends the pyc format to allow the hash of the source file to be +used for invalidation instead of the source timestamp. Such ``.pyc`` files are +called "hash-based". By default, Python still uses timestamp-based invalidation +and does not generate hash-based ``.pyc`` files at runtime. Hash-based ``.pyc`` +files may be generated with :mod:`py_compile` or :mod:`compileall`. + +Hash-based ``.pyc`` files come in two variants: checked and unchecked. Python +validates checked hash-based ``.pyc`` files against the corresponding source +files at runtime but doesn't do so for unchecked hash-based pycs. Unchecked +hash-based ``.pyc`` files are a useful performance optimization for environments +where a system external to Python (e.g., the build system) is responsible for +keeping ``.pyc`` files up-to-date. + +See :ref:`pyc-invalidation` for more information. + Other Language Changes ====================== diff --git a/Include/internal/hash.h b/Include/internal/hash.h new file mode 100644 index 00000000000..e14b80a7f27 --- /dev/null +++ b/Include/internal/hash.h @@ -0,0 +1,6 @@ +#ifndef Py_INTERNAL_HASH_H +#define Py_INTERNAL_HASH_H + +uint64_t _Py_KeyedHash(uint64_t, const char *, Py_ssize_t); + +#endif diff --git a/Include/internal/import.h b/Include/internal/import.h new file mode 100644 index 00000000000..4746e755755 --- /dev/null +++ b/Include/internal/import.h @@ -0,0 +1,6 @@ +#ifndef Py_INTERNAL_IMPORT_H +#define Py_INTERNAL_IMPORT_H + +extern const char *_Py_CheckHashBasedPycsMode; + +#endif diff --git a/Include/pygetopt.h b/Include/pygetopt.h index 962720c876c..3e3fe364901 100644 --- a/Include/pygetopt.h +++ b/Include/pygetopt.h @@ -12,7 +12,14 @@ PyAPI_DATA(wchar_t *) _PyOS_optarg; PyAPI_FUNC(void) _PyOS_ResetGetOpt(void); -PyAPI_FUNC(int) _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring); +typedef struct { + const wchar_t *name; + int has_arg; + int val; +} _PyOS_LongOption; + +PyAPI_FUNC(int) _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring, + const _PyOS_LongOption *longopts, int *longindex); #endif /* !Py_LIMITED_API */ #ifdef __cplusplus diff --git a/Lib/compileall.py b/Lib/compileall.py index 1c9ceb69309..72592126d74 100644 --- a/Lib/compileall.py +++ b/Lib/compileall.py @@ -52,7 +52,8 @@ def _walk_dir(dir, ddir=None, maxlevels=10, quiet=0): maxlevels=maxlevels - 1, quiet=quiet) def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, - quiet=0, legacy=False, optimize=-1, workers=1): + quiet=0, legacy=False, optimize=-1, workers=1, + invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP): """Byte-compile all modules in the given directory tree. Arguments (only dir is required): @@ -67,6 +68,7 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: optimization level or -1 for level of the interpreter workers: maximum number of parallel workers + invalidation_mode: how the up-to-dateness of the pyc will be checked """ if workers is not None and workers < 0: raise ValueError('workers must be greater or equal to 0') @@ -81,18 +83,20 @@ def compile_dir(dir, maxlevels=10, ddir=None, force=False, rx=None, ddir=ddir, force=force, rx=rx, quiet=quiet, legacy=legacy, - optimize=optimize), + optimize=optimize, + invalidation_mode=invalidation_mode), files) success = min(results, default=True) else: for file in files: if not compile_file(file, ddir, force, rx, quiet, - legacy, optimize): + legacy, optimize, invalidation_mode): success = False return success def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, - legacy=False, optimize=-1): + legacy=False, optimize=-1, + invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP): """Byte-compile one file. Arguments (only fullname is required): @@ -105,6 +109,7 @@ def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: optimization level or -1 for level of the interpreter + invalidation_mode: how the up-to-dateness of the pyc will be checked """ success = True if quiet < 2 and isinstance(fullname, os.PathLike): @@ -134,10 +139,10 @@ def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, if not force: try: mtime = int(os.stat(fullname).st_mtime) - expect = struct.pack('<4sl', importlib.util.MAGIC_NUMBER, - mtime) + expect = struct.pack('<4sll', importlib.util.MAGIC_NUMBER, + 0, mtime) with open(cfile, 'rb') as chandle: - actual = chandle.read(8) + actual = chandle.read(12) if expect == actual: return success except OSError: @@ -146,7 +151,8 @@ def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, print('Compiling {!r}...'.format(fullname)) try: ok = py_compile.compile(fullname, cfile, dfile, True, - optimize=optimize) + optimize=optimize, + invalidation_mode=invalidation_mode) except py_compile.PyCompileError as err: success = False if quiet >= 2: @@ -175,7 +181,8 @@ def compile_file(fullname, ddir=None, force=False, rx=None, quiet=0, return success def compile_path(skip_curdir=1, maxlevels=0, force=False, quiet=0, - legacy=False, optimize=-1): + legacy=False, optimize=-1, + invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP): """Byte-compile all module on sys.path. Arguments (all optional): @@ -186,6 +193,7 @@ def compile_path(skip_curdir=1, maxlevels=0, force=False, quiet=0, quiet: as for compile_dir() (default 0) legacy: as for compile_dir() (default False) optimize: as for compile_dir() (default -1) + invalidation_mode: as for compiler_dir() """ success = True for dir in sys.path: @@ -193,9 +201,16 @@ def compile_path(skip_curdir=1, maxlevels=0, force=False, quiet=0, if quiet < 2: print('Skipping current directory') else: - success = success and compile_dir(dir, maxlevels, None, - force, quiet=quiet, - legacy=legacy, optimize=optimize) + success = success and compile_dir( + dir, + maxlevels, + None, + force, + quiet=quiet, + legacy=legacy, + optimize=optimize, + invalidation_mode=invalidation_mode, + ) return success @@ -238,6 +253,11 @@ def main(): 'to the equivalent of -l sys.path')) parser.add_argument('-j', '--workers', default=1, type=int, help='Run compileall concurrently') + invalidation_modes = [mode.name.lower().replace('_', '-') + for mode in py_compile.PycInvalidationMode] + parser.add_argument('--invalidation-mode', default='timestamp', + choices=sorted(invalidation_modes), + help='How the pycs will be invalidated at runtime') args = parser.parse_args() compile_dests = args.compile_dest @@ -266,23 +286,29 @@ def main(): if args.workers is not None: args.workers = args.workers or None + ivl_mode = args.invalidation_mode.replace('-', '_').upper() + invalidation_mode = py_compile.PycInvalidationMode[ivl_mode] + success = True try: if compile_dests: for dest in compile_dests: if os.path.isfile(dest): if not compile_file(dest, args.ddir, args.force, args.rx, - args.quiet, args.legacy): + args.quiet, args.legacy, + invalidation_mode=invalidation_mode): success = False else: if not compile_dir(dest, maxlevels, args.ddir, args.force, args.rx, args.quiet, - args.legacy, workers=args.workers): + args.legacy, workers=args.workers, + invalidation_mode=invalidation_mode): success = False return success else: return compile_path(legacy=args.legacy, force=args.force, - quiet=args.quiet) + quiet=args.quiet, + invalidation_mode=invalidation_mode) except KeyboardInterrupt: if args.quiet < 2: print("\n[interrupted]") diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py index 41de8a7b863..e808507d3bb 100644 --- a/Lib/importlib/_bootstrap_external.py +++ b/Lib/importlib/_bootstrap_external.py @@ -242,6 +242,7 @@ _code_type = type(_write_atomic.__code__) # Python 3.6rc1 3379 (more thorough __class__ validation #23722) # Python 3.7a0 3390 (add LOAD_METHOD and CALL_METHOD opcodes) # Python 3.7a0 3391 (update GET_AITER #31709) +# Python 3.7a0 3392 (PEP 552: Deterministic pycs) # # MAGIC must change whenever the bytecode emitted by the compiler may no # longer be understood by older implementations of the eval loop (usually @@ -250,7 +251,7 @@ _code_type = type(_write_atomic.__code__) # Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array # in PC/launcher.c must also be updated. -MAGIC_NUMBER = (3391).to_bytes(2, 'little') + b'\r\n' +MAGIC_NUMBER = (3392).to_bytes(2, 'little') + b'\r\n' _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little') # For import.c _PYCACHE = '__pycache__' @@ -429,63 +430,93 @@ def _find_module_shim(self, fullname): return loader -def _validate_bytecode_header(data, source_stats=None, name=None, path=None): - """Validate the header of the passed-in bytecode against source_stats (if - given) and returning the bytecode that can be compiled by compile(). +def _classify_pyc(data, name, exc_details): + """Perform basic validity checking of a pyc header and return the flags field, + which determines how the pyc should be further validated against the source. - All other arguments are used to enhance error reporting. + *data* is the contents of the pyc file. (Only the first 16 bytes are + required, though.) - ImportError is raised when the magic number is incorrect or the bytecode is - found to be stale. EOFError is raised when the data is found to be - truncated. + *name* is the name of the module being imported. It is used for logging. + + *exc_details* is a dictionary passed to ImportError if it raised for + improved debugging. + + ImportError is raised when the magic number is incorrect or when the flags + field is invalid. EOFError is raised when the data is found to be truncated. """ - exc_details = {} - if name is not None: - exc_details['name'] = name - else: - # To prevent having to make all messages have a conditional name. - name = '' - if path is not None: - exc_details['path'] = path magic = data[:4] - raw_timestamp = data[4:8] - raw_size = data[8:12] if magic != MAGIC_NUMBER: - message = 'bad magic number in {!r}: {!r}'.format(name, magic) + message = f'bad magic number in {name!r}: {magic!r}' _bootstrap._verbose_message('{}', message) raise ImportError(message, **exc_details) - elif len(raw_timestamp) != 4: - message = 'reached EOF while reading timestamp in {!r}'.format(name) + if len(data) < 16: + message = f'reached EOF while reading pyc header of {name!r}' _bootstrap._verbose_message('{}', message) raise EOFError(message) - elif len(raw_size) != 4: - message = 'reached EOF while reading size of source in {!r}'.format(name) + flags = _r_long(data[4:8]) + # Only the first two flags are defined. + if flags & ~0b11: + message = f'invalid flags {flags!r} in {name!r}' + raise ImportError(message, **exc_details) + return flags + + +def _validate_timestamp_pyc(data, source_mtime, source_size, name, + exc_details): + """Validate a pyc against the source last-modified time. + + *data* is the contents of the pyc file. (Only the first 16 bytes are + required.) + + *source_mtime* is the last modified timestamp of the source file. + + *source_size* is None or the size of the source file in bytes. + + *name* is the name of the module being imported. It is used for logging. + + *exc_details* is a dictionary passed to ImportError if it raised for + improved debugging. + + An ImportError is raised if the bytecode is stale. + + """ + if _r_long(data[8:12]) != (source_mtime & 0xFFFFFFFF): + message = f'bytecode is stale for {name!r}' _bootstrap._verbose_message('{}', message) - raise EOFError(message) - if source_stats is not None: - try: - source_mtime = int(source_stats['mtime']) - except KeyError: - pass - else: - if _r_long(raw_timestamp) != source_mtime: - message = 'bytecode is stale for {!r}'.format(name) - _bootstrap._verbose_message('{}', message) - raise ImportError(message, **exc_details) - try: - source_size = source_stats['size'] & 0xFFFFFFFF - except KeyError: - pass - else: - if _r_long(raw_size) != source_size: - raise ImportError('bytecode is stale for {!r}'.format(name), - **exc_details) - return data[12:] + raise ImportError(message, **exc_details) + if (source_size is not None and + _r_long(data[12:16]) != (source_size & 0xFFFFFFFF)): + raise ImportError(f'bytecode is stale for {name!r}', **exc_details) + + +def _validate_hash_pyc(data, source_hash, name, exc_details): + """Validate a hash-based pyc by checking the real source hash against the one in + the pyc header. + + *data* is the contents of the pyc file. (Only the first 16 bytes are + required.) + + *source_hash* is the importlib.util.source_hash() of the source file. + + *name* is the name of the module being imported. It is used for logging. + + *exc_details* is a dictionary passed to ImportError if it raised for + improved debugging. + + An ImportError is raised if the bytecode is stale. + + """ + if data[8:16] != source_hash: + raise ImportError( + f'hash in bytecode doesn\'t match hash of source {name!r}', + **exc_details, + ) def _compile_bytecode(data, name=None, bytecode_path=None, source_path=None): - """Compile bytecode as returned by _validate_bytecode_header().""" + """Compile bytecode as found in a pyc.""" code = marshal.loads(data) if isinstance(code, _code_type): _bootstrap._verbose_message('code object from {!r}', bytecode_path) @@ -496,16 +527,28 @@ def _compile_bytecode(data, name=None, bytecode_path=None, source_path=None): raise ImportError('Non-code object in {!r}'.format(bytecode_path), name=name, path=bytecode_path) -def _code_to_bytecode(code, mtime=0, source_size=0): - """Compile a code object into bytecode for writing out to a byte-compiled - file.""" + +def _code_to_timestamp_pyc(code, mtime=0, source_size=0): + "Produce the data for a timestamp-based pyc." data = bytearray(MAGIC_NUMBER) + data.extend(_w_long(0)) data.extend(_w_long(mtime)) data.extend(_w_long(source_size)) data.extend(marshal.dumps(code)) return data +def _code_to_hash_pyc(code, source_hash, checked=True): + "Produce the data for a hash-based pyc." + data = bytearray(MAGIC_NUMBER) + flags = 0b1 | checked << 1 + data.extend(_w_long(flags)) + assert len(source_hash) == 8 + data.extend(source_hash) + data.extend(marshal.dumps(code)) + return data + + def decode_source(source_bytes): """Decode bytes representing source code and return the string. @@ -751,6 +794,10 @@ class SourceLoader(_LoaderBasics): """ source_path = self.get_filename(fullname) source_mtime = None + source_bytes = None + source_hash = None + hash_based = False + check_source = True try: bytecode_path = cache_from_source(source_path) except NotImplementedError: @@ -767,10 +814,34 @@ class SourceLoader(_LoaderBasics): except OSError: pass else: + exc_details = { + 'name': fullname, + 'path': bytecode_path, + } try: - bytes_data = _validate_bytecode_header(data, - source_stats=st, name=fullname, - path=bytecode_path) + flags = _classify_pyc(data, fullname, exc_details) + bytes_data = memoryview(data)[16:] + hash_based = flags & 0b1 != 0 + if hash_based: + check_source = flags & 0b10 != 0 + if (_imp.check_hash_based_pycs != 'never' and + (check_source or + _imp.check_hash_based_pycs == 'always')): + source_bytes = self.get_data(source_path) + source_hash = _imp.source_hash( + _RAW_MAGIC_NUMBER, + source_bytes, + ) + _validate_hash_pyc(data, source_hash, fullname, + exc_details) + else: + _validate_timestamp_pyc( + data, + source_mtime, + st['size'], + fullname, + exc_details, + ) except (ImportError, EOFError): pass else: @@ -779,13 +850,19 @@ class SourceLoader(_LoaderBasics): return _compile_bytecode(bytes_data, name=fullname, bytecode_path=bytecode_path, source_path=source_path) - source_bytes = self.get_data(source_path) + if source_bytes is None: + source_bytes = self.get_data(source_path) code_object = self.source_to_code(source_bytes, source_path) _bootstrap._verbose_message('code object from {}', source_path) if (not sys.dont_write_bytecode and bytecode_path is not None and source_mtime is not None): - data = _code_to_bytecode(code_object, source_mtime, - len(source_bytes)) + if hash_based: + if source_hash is None: + source_hash = _imp.source_hash(source_bytes) + data = _code_to_hash_pyc(code_object, source_hash, check_source) + else: + data = _code_to_timestamp_pyc(code_object, source_mtime, + len(source_bytes)) try: self._cache_bytecode(source_path, bytecode_path, data) _bootstrap._verbose_message('wrote {!r}', bytecode_path) @@ -887,8 +964,18 @@ class SourcelessFileLoader(FileLoader, _LoaderBasics): def get_code(self, fullname): path = self.get_filename(fullname) data = self.get_data(path) - bytes_data = _validate_bytecode_header(data, name=fullname, path=path) - return _compile_bytecode(bytes_data, name=fullname, bytecode_path=path) + # Call _classify_pyc to do basic validation of the pyc but ignore the + # result. There's no source to check against. + exc_details = { + 'name': fullname, + 'path': path, + } + _classify_pyc(data, fullname, exc_details) + return _compile_bytecode( + memoryview(data)[16:], + name=fullname, + bytecode_path=path, + ) def get_source(self, fullname): """Return None as there is no source code.""" diff --git a/Lib/importlib/util.py b/Lib/importlib/util.py index 41c74d4cc6c..9d0a90d2973 100644 --- a/Lib/importlib/util.py +++ b/Lib/importlib/util.py @@ -5,18 +5,25 @@ from ._bootstrap import _resolve_name from ._bootstrap import spec_from_loader from ._bootstrap import _find_spec from ._bootstrap_external import MAGIC_NUMBER +from ._bootstrap_external import _RAW_MAGIC_NUMBER from ._bootstrap_external import cache_from_source from ._bootstrap_external import decode_source from ._bootstrap_external import source_from_cache from ._bootstrap_external import spec_from_file_location from contextlib import contextmanager +import _imp import functools import sys import types import warnings +def source_hash(source_bytes): + "Return the hash of *source_bytes* as used in hash-based pyc files." + return _imp.source_hash(_RAW_MAGIC_NUMBER, source_bytes) + + def resolve_name(name, package): """Resolve a relative module name to an absolute one.""" if not name.startswith('.'): diff --git a/Lib/modulefinder.py b/Lib/modulefinder.py index e277ca72f8e..10320a74d94 100644 --- a/Lib/modulefinder.py +++ b/Lib/modulefinder.py @@ -287,11 +287,12 @@ class ModuleFinder: co = compile(fp.read()+'\n', pathname, 'exec') elif type == imp.PY_COMPILED: try: - marshal_data = importlib._bootstrap_external._validate_bytecode_header(fp.read()) + data = fp.read() + importlib._bootstrap_external._classify_pyc(data, fqname, {}) except ImportError as exc: self.msgout(2, "raise ImportError: " + str(exc), pathname) raise - co = marshal.loads(marshal_data) + co = marshal.loads(memoryview(data)[16:]) else: co = None m = self.add_module(fqname) diff --git a/Lib/pkgutil.py b/Lib/pkgutil.py index 9180eaed84d..8474a773e7c 100644 --- a/Lib/pkgutil.py +++ b/Lib/pkgutil.py @@ -46,7 +46,7 @@ def read_code(stream): if magic != importlib.util.MAGIC_NUMBER: return None - stream.read(8) # Skip timestamp and size + stream.read(12) # Skip rest of the header return marshal.load(stream) diff --git a/Lib/py_compile.py b/Lib/py_compile.py index 11c5b505cc6..a0f4defdce6 100644 --- a/Lib/py_compile.py +++ b/Lib/py_compile.py @@ -3,6 +3,7 @@ This module has intimate knowledge of the format of .pyc files. """ +import enum import importlib._bootstrap_external import importlib.machinery import importlib.util @@ -11,7 +12,7 @@ import os.path import sys import traceback -__all__ = ["compile", "main", "PyCompileError"] +__all__ = ["compile", "main", "PyCompileError", "PycInvalidationMode"] class PyCompileError(Exception): @@ -62,7 +63,14 @@ class PyCompileError(Exception): return self.msg -def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1): +class PycInvalidationMode(enum.Enum): + TIMESTAMP = 1 + CHECKED_HASH = 2 + UNCHECKED_HASH = 3 + + +def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1, + invalidation_mode=PycInvalidationMode.TIMESTAMP): """Byte-compile one Python source file to Python bytecode. :param file: The source file name. @@ -79,6 +87,7 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1): :param optimize: The optimization level for the compiler. Valid values are -1, 0, 1 and 2. A value of -1 means to use the optimization level of the current interpreter, as given by -O command line options. + :param invalidation_mode: :return: Path to the resulting byte compiled file. @@ -136,9 +145,17 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1): os.makedirs(dirname) except FileExistsError: pass - source_stats = loader.path_stats(file) - bytecode = importlib._bootstrap_external._code_to_bytecode( + if invalidation_mode == PycInvalidationMode.TIMESTAMP: + source_stats = loader.path_stats(file) + bytecode = importlib._bootstrap_external._code_to_timestamp_pyc( code, source_stats['mtime'], source_stats['size']) + else: + source_hash = importlib.util.source_hash(source_bytes) + bytecode = importlib._bootstrap_external._code_to_hash_pyc( + code, + source_hash, + (invalidation_mode == PycInvalidationMode.CHECKED_HASH), + ) mode = importlib._bootstrap_external._calc_mode(file) importlib._bootstrap_external._write_atomic(cfile, bytecode, mode) return cfile diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py index 2356efcaec7..38d7b996c7c 100644 --- a/Lib/test/test_compileall.py +++ b/Lib/test/test_compileall.py @@ -48,9 +48,9 @@ class CompileallTests(unittest.TestCase): def data(self): with open(self.bc_path, 'rb') as file: - data = file.read(8) + data = file.read(12) mtime = int(os.stat(self.source_path).st_mtime) - compare = struct.pack('<4sl', importlib.util.MAGIC_NUMBER, mtime) + compare = struct.pack('<4sll', importlib.util.MAGIC_NUMBER, 0, mtime) return data, compare @unittest.skipUnless(hasattr(os, 'stat'), 'test needs os.stat()') @@ -70,8 +70,8 @@ class CompileallTests(unittest.TestCase): def test_mtime(self): # Test a change in mtime leads to a new .pyc. - self.recreation_check(struct.pack('<4sl', importlib.util.MAGIC_NUMBER, - 1)) + self.recreation_check(struct.pack('<4sll', importlib.util.MAGIC_NUMBER, + 0, 1)) def test_magic_number(self): # Test a change in mtime leads to a new .pyc. @@ -519,6 +519,19 @@ class CommandLineTests(unittest.TestCase): out = self.assertRunOK('badfilename') self.assertRegex(out, b"Can't list 'badfilename'") + def test_pyc_invalidation_mode(self): + script_helper.make_script(self.pkgdir, 'f1', '') + pyc = importlib.util.cache_from_source( + os.path.join(self.pkgdir, 'f1.py')) + self.assertRunOK('--invalidation-mode=checked-hash', self.pkgdir) + with open(pyc, 'rb') as fp: + data = fp.read() + self.assertEqual(int.from_bytes(data[4:8], 'little'), 0b11) + self.assertRunOK('--invalidation-mode=unchecked-hash', self.pkgdir) + with open(pyc, 'rb') as fp: + data = fp.read() + self.assertEqual(int.from_bytes(data[4:8], 'little'), 0b01) + @skipUnless(_have_multiprocessing, "requires multiprocessing") def test_workers(self): bar2fn = script_helper.make_script(self.directory, 'bar2', '') diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py index b70ec7caddb..a115e60d4e4 100644 --- a/Lib/test/test_imp.py +++ b/Lib/test/test_imp.py @@ -4,11 +4,13 @@ import os import os.path import sys from test import support +from test.support import script_helper import unittest import warnings with warnings.catch_warnings(): warnings.simplefilter('ignore', DeprecationWarning) import imp +import _imp def requires_load_dynamic(meth): @@ -329,6 +331,25 @@ class ImportTests(unittest.TestCase): with self.assertRaises(TypeError): create_dynamic(BadSpec()) + def test_source_hash(self): + self.assertEqual(_imp.source_hash(42, b'hi'), b'\xc6\xe7Z\r\x03:}\xab') + self.assertEqual(_imp.source_hash(43, b'hi'), b'\x85\x9765\xf8\x9a\x8b9') + + def test_pyc_invalidation_mode_from_cmdline(self): + cases = [ + ([], "default"), + (["--check-hash-based-pycs", "default"], "default"), + (["--check-hash-based-pycs", "always"], "always"), + (["--check-hash-based-pycs", "never"], "never"), + ] + for interp_args, expected in cases: + args = interp_args + [ + "-c", + "import _imp; print(_imp.check_hash_based_pycs)", + ] + res = script_helper.assert_python_ok(*args) + self.assertEqual(res.out.strip().decode('utf-8'), expected) + class ReloadTests(unittest.TestCase): diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py index 5a610ba3126..ceea79f6ad9 100644 --- a/Lib/test/test_import/__init__.py +++ b/Lib/test/test_import/__init__.py @@ -598,7 +598,7 @@ func_filename = func.__code__.co_filename def test_foreign_code(self): py_compile.compile(self.file_name) with open(self.compiled_name, "rb") as f: - header = f.read(12) + header = f.read(16) code = marshal.load(f) constants = list(code.co_consts) foreign_code = importlib.import_module.__code__ diff --git a/Lib/test/test_importlib/source/test_file_loader.py b/Lib/test/test_importlib/source/test_file_loader.py index a151149f31a..643a02c9ad6 100644 --- a/Lib/test/test_importlib/source/test_file_loader.py +++ b/Lib/test/test_importlib/source/test_file_loader.py @@ -235,6 +235,123 @@ class SimpleTest(abc.LoaderTests): warnings.simplefilter('ignore', DeprecationWarning) loader.load_module('bad name') + @util.writes_bytecode_files + def test_checked_hash_based_pyc(self): + with util.create_modules('_temp') as mapping: + source = mapping['_temp'] + pyc = self.util.cache_from_source(source) + with open(source, 'wb') as fp: + fp.write(b'state = "old"') + os.utime(source, (50, 50)) + py_compile.compile( + source, + invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH, + ) + loader = self.machinery.SourceFileLoader('_temp', source) + mod = types.ModuleType('_temp') + mod.__spec__ = self.util.spec_from_loader('_temp', loader) + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + # Write a new source with the same mtime and size as before. + with open(source, 'wb') as fp: + fp.write(b'state = "new"') + os.utime(source, (50, 50)) + loader.exec_module(mod) + self.assertEqual(mod.state, 'new') + with open(pyc, 'rb') as fp: + data = fp.read() + self.assertEqual(int.from_bytes(data[4:8], 'little'), 0b11) + self.assertEqual( + self.util.source_hash(b'state = "new"'), + data[8:16], + ) + + @util.writes_bytecode_files + def test_overriden_checked_hash_based_pyc(self): + with util.create_modules('_temp') as mapping, \ + unittest.mock.patch('_imp.check_hash_based_pycs', 'never'): + source = mapping['_temp'] + pyc = self.util.cache_from_source(source) + with open(source, 'wb') as fp: + fp.write(b'state = "old"') + os.utime(source, (50, 50)) + py_compile.compile( + source, + invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH, + ) + loader = self.machinery.SourceFileLoader('_temp', source) + mod = types.ModuleType('_temp') + mod.__spec__ = self.util.spec_from_loader('_temp', loader) + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + # Write a new source with the same mtime and size as before. + with open(source, 'wb') as fp: + fp.write(b'state = "new"') + os.utime(source, (50, 50)) + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + + @util.writes_bytecode_files + def test_unchecked_hash_based_pyc(self): + with util.create_modules('_temp') as mapping: + source = mapping['_temp'] + pyc = self.util.cache_from_source(source) + with open(source, 'wb') as fp: + fp.write(b'state = "old"') + os.utime(source, (50, 50)) + py_compile.compile( + source, + invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH, + ) + loader = self.machinery.SourceFileLoader('_temp', source) + mod = types.ModuleType('_temp') + mod.__spec__ = self.util.spec_from_loader('_temp', loader) + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + # Update the source file, which should be ignored. + with open(source, 'wb') as fp: + fp.write(b'state = "new"') + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + with open(pyc, 'rb') as fp: + data = fp.read() + self.assertEqual(int.from_bytes(data[4:8], 'little'), 0b1) + self.assertEqual( + self.util.source_hash(b'state = "old"'), + data[8:16], + ) + + @util.writes_bytecode_files + def test_overiden_unchecked_hash_based_pyc(self): + with util.create_modules('_temp') as mapping, \ + unittest.mock.patch('_imp.check_hash_based_pycs', 'always'): + source = mapping['_temp'] + pyc = self.util.cache_from_source(source) + with open(source, 'wb') as fp: + fp.write(b'state = "old"') + os.utime(source, (50, 50)) + py_compile.compile( + source, + invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH, + ) + loader = self.machinery.SourceFileLoader('_temp', source) + mod = types.ModuleType('_temp') + mod.__spec__ = self.util.spec_from_loader('_temp', loader) + loader.exec_module(mod) + self.assertEqual(mod.state, 'old') + # Update the source file, which should be ignored. + with open(source, 'wb') as fp: + fp.write(b'state = "new"') + loader.exec_module(mod) + self.assertEqual(mod.state, 'new') + with open(pyc, 'rb') as fp: + data = fp.read() + self.assertEqual(int.from_bytes(data[4:8], 'little'), 0b1) + self.assertEqual( + self.util.source_hash(b'state = "new"'), + data[8:16], + ) + (Frozen_SimpleTest, Source_SimpleTest @@ -247,15 +364,17 @@ class BadBytecodeTest: def import_(self, file, module_name): raise NotImplementedError - def manipulate_bytecode(self, name, mapping, manipulator, *, - del_source=False): + def manipulate_bytecode(self, + name, mapping, manipulator, *, + del_source=False, + invalidation_mode=py_compile.PycInvalidationMode.TIMESTAMP): """Manipulate the bytecode of a module by passing it into a callable that returns what to use as the new bytecode.""" try: del sys.modules['_temp'] except KeyError: pass - py_compile.compile(mapping[name]) + py_compile.compile(mapping[name], invalidation_mode=invalidation_mode) if not del_source: bytecode_path = self.util.cache_from_source(mapping[name]) else: @@ -294,24 +413,51 @@ class BadBytecodeTest: del_source=del_source) test('_temp', mapping, bc_path) - def _test_partial_timestamp(self, test, *, del_source=False): + def _test_partial_flags(self, test, *, del_source=False): with util.create_modules('_temp') as mapping: bc_path = self.manipulate_bytecode('_temp', mapping, - lambda bc: bc[:7], - del_source=del_source) + lambda bc: bc[:7], + del_source=del_source) test('_temp', mapping, bc_path) - def _test_partial_size(self, test, *, del_source=False): + def _test_partial_hash(self, test, *, del_source=False): + with util.create_modules('_temp') as mapping: + bc_path = self.manipulate_bytecode( + '_temp', + mapping, + lambda bc: bc[:13], + del_source=del_source, + invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH, + ) + test('_temp', mapping, bc_path) + with util.create_modules('_temp') as mapping: + bc_path = self.manipulate_bytecode( + '_temp', + mapping, + lambda bc: bc[:13], + del_source=del_source, + invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH, + ) + test('_temp', mapping, bc_path) + + def _test_partial_timestamp(self, test, *, del_source=False): with util.create_modules('_temp') as mapping: bc_path = self.manipulate_bytecode('_temp', mapping, lambda bc: bc[:11], del_source=del_source) test('_temp', mapping, bc_path) + def _test_partial_size(self, test, *, del_source=False): + with util.create_modules('_temp') as mapping: + bc_path = self.manipulate_bytecode('_temp', mapping, + lambda bc: bc[:15], + del_source=del_source) + test('_temp', mapping, bc_path) + def _test_no_marshal(self, *, del_source=False): with util.create_modules('_temp') as mapping: bc_path = self.manipulate_bytecode('_temp', mapping, - lambda bc: bc[:12], + lambda bc: bc[:16], del_source=del_source) file_path = mapping['_temp'] if not del_source else bc_path with self.assertRaises(EOFError): @@ -320,7 +466,7 @@ class BadBytecodeTest: def _test_non_code_marshal(self, *, del_source=False): with util.create_modules('_temp') as mapping: bytecode_path = self.manipulate_bytecode('_temp', mapping, - lambda bc: bc[:12] + marshal.dumps(b'abcd'), + lambda bc: bc[:16] + marshal.dumps(b'abcd'), del_source=del_source) file_path = mapping['_temp'] if not del_source else bytecode_path with self.assertRaises(ImportError) as cm: @@ -331,7 +477,7 @@ class BadBytecodeTest: def _test_bad_marshal(self, *, del_source=False): with util.create_modules('_temp') as mapping: bytecode_path = self.manipulate_bytecode('_temp', mapping, - lambda bc: bc[:12] + b'', + lambda bc: bc[:16] + b'', del_source=del_source) file_path = mapping['_temp'] if not del_source else bytecode_path with self.assertRaises(EOFError): @@ -376,7 +522,7 @@ class SourceLoaderBadBytecodeTest: def test(name, mapping, bytecode_path): self.import_(mapping[name], name) with open(bytecode_path, 'rb') as file: - self.assertGreater(len(file.read()), 12) + self.assertGreater(len(file.read()), 16) self._test_empty_file(test) @@ -384,7 +530,7 @@ class SourceLoaderBadBytecodeTest: def test(name, mapping, bytecode_path): self.import_(mapping[name], name) with open(bytecode_path, 'rb') as file: - self.assertGreater(len(file.read()), 12) + self.assertGreater(len(file.read()), 16) self._test_partial_magic(test) @@ -395,7 +541,7 @@ class SourceLoaderBadBytecodeTest: def test(name, mapping, bytecode_path): self.import_(mapping[name], name) with open(bytecode_path, 'rb') as file: - self.assertGreater(len(file.read()), 12) + self.assertGreater(len(file.read()), 16) self._test_magic_only(test) @@ -418,10 +564,30 @@ class SourceLoaderBadBytecodeTest: def test(name, mapping, bc_path): self.import_(mapping[name], name) with open(bc_path, 'rb') as file: - self.assertGreater(len(file.read()), 12) + self.assertGreater(len(file.read()), 16) self._test_partial_timestamp(test) + @util.writes_bytecode_files + def test_partial_flags(self): + # When the flags is partial, regenerate the .pyc, else raise EOFError. + def test(name, mapping, bc_path): + self.import_(mapping[name], name) + with open(bc_path, 'rb') as file: + self.assertGreater(len(file.read()), 16) + + self._test_partial_flags(test) + + @util.writes_bytecode_files + def test_partial_hash(self): + # When the hash is partial, regenerate the .pyc, else raise EOFError. + def test(name, mapping, bc_path): + self.import_(mapping[name], name) + with open(bc_path, 'rb') as file: + self.assertGreater(len(file.read()), 16) + + self._test_partial_hash(test) + @util.writes_bytecode_files def test_partial_size(self): # When the size is partial, regenerate the .pyc, else @@ -429,7 +595,7 @@ class SourceLoaderBadBytecodeTest: def test(name, mapping, bc_path): self.import_(mapping[name], name) with open(bc_path, 'rb') as file: - self.assertGreater(len(file.read()), 12) + self.assertGreater(len(file.read()), 16) self._test_partial_size(test) @@ -459,13 +625,13 @@ class SourceLoaderBadBytecodeTest: py_compile.compile(mapping['_temp']) bytecode_path = self.util.cache_from_source(mapping['_temp']) with open(bytecode_path, 'r+b') as bytecode_file: - bytecode_file.seek(4) + bytecode_file.seek(8) bytecode_file.write(zeros) self.import_(mapping['_temp'], '_temp') source_mtime = os.path.getmtime(mapping['_temp']) source_timestamp = self.importlib._w_long(source_mtime) with open(bytecode_path, 'rb') as bytecode_file: - bytecode_file.seek(4) + bytecode_file.seek(8) self.assertEqual(bytecode_file.read(4), source_timestamp) # [bytecode read-only] @@ -560,6 +726,20 @@ class SourcelessLoaderBadBytecodeTest: self._test_partial_timestamp(test, del_source=True) + def test_partial_flags(self): + def test(name, mapping, bytecode_path): + with self.assertRaises(EOFError): + self.import_(bytecode_path, name) + + self._test_partial_flags(test, del_source=True) + + def test_partial_hash(self): + def test(name, mapping, bytecode_path): + with self.assertRaises(EOFError): + self.import_(bytecode_path, name) + + self._test_partial_hash(test, del_source=True) + def test_partial_size(self): def test(name, mapping, bytecode_path): with self.assertRaises(EOFError): diff --git a/Lib/test/test_importlib/test_abc.py b/Lib/test/test_importlib/test_abc.py index 54b2da6a3d2..4ba28c6638b 100644 --- a/Lib/test/test_importlib/test_abc.py +++ b/Lib/test/test_importlib/test_abc.py @@ -673,6 +673,7 @@ class SourceLoader(SourceOnlyLoader): if magic is None: magic = self.util.MAGIC_NUMBER data = bytearray(magic) + data.extend(self.init._w_long(0)) data.extend(self.init._w_long(self.source_mtime)) data.extend(self.init._w_long(self.source_size)) code_object = compile(self.source, self.path, 'exec', @@ -836,6 +837,7 @@ class SourceLoaderBytecodeTests(SourceLoaderTestHarness): if bytecode_written: self.assertIn(self.cached, self.loader.written) data = bytearray(self.util.MAGIC_NUMBER) + data.extend(self.init._w_long(0)) data.extend(self.init._w_long(self.loader.source_mtime)) data.extend(self.init._w_long(self.loader.source_size)) data.extend(marshal.dumps(code_object)) diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py index 4a6caa57187..bcb686c86b5 100644 --- a/Lib/test/test_py_compile.py +++ b/Lib/test/test_py_compile.py @@ -122,6 +122,24 @@ class PyCompileTests(unittest.TestCase): # Specifying optimized bytecode should lead to a path reflecting that. self.assertIn('opt-2', py_compile.compile(self.source_path, optimize=2)) + def test_invalidation_mode(self): + py_compile.compile( + self.source_path, + invalidation_mode=py_compile.PycInvalidationMode.CHECKED_HASH, + ) + with open(self.cache_path, 'rb') as fp: + flags = importlib._bootstrap_external._classify_pyc( + fp.read(), 'test', {}) + self.assertEqual(flags, 0b11) + py_compile.compile( + self.source_path, + invalidation_mode=py_compile.PycInvalidationMode.UNCHECKED_HASH, + ) + with open(self.cache_path, 'rb') as fp: + flags = importlib._bootstrap_external._classify_pyc( + fp.read(), 'test', {}) + self.assertEqual(flags, 0b1) + if __name__ == "__main__": unittest.main() diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py index 67ca39b8066..901bebdd71d 100644 --- a/Lib/test/test_zipimport.py +++ b/Lib/test/test_zipimport.py @@ -40,7 +40,7 @@ def make_pyc(co, mtime, size): else: mtime = int(-0x100000000 + int(mtime)) pyc = (importlib.util.MAGIC_NUMBER + - struct.pack(" @@ -61,6 +62,11 @@ static int orig_argc; #define PROGRAM_OPTS BASE_OPTS +static const _PyOS_LongOption longoptions[] = { + {L"check-hash-based-pycs", 1, 0}, + {NULL, 0, 0}, +}; + /* Short usage message (with %s for argv0) */ static const char usage_line[] = "usage: %ls [option] ... [-c cmd | -m mod | file | -] [arg] ...\n"; @@ -98,6 +104,8 @@ static const char usage_3[] = "\ also PYTHONWARNINGS=arg\n\ -x : skip first line of source, allowing use of non-Unix forms of #!cmd\n\ -X opt : set implementation-specific option\n\ +--check-hash-based-pycs always|default|never:\n\ + control how Python invalidates hash-based .pyc files\n\ "; static const char usage_4[] = "\ file : program read from script file\n\ @@ -393,6 +401,7 @@ typedef struct { int quiet_flag; /* Py_QuietFlag, -q */ int skip_first_line; /* -x option */ _Py_OptList xoptions; /* -X options */ + const char *check_hash_pycs_mode; /* --check-hash-based-pycs */ #ifdef MS_WINDOWS int legacy_windows_fs_encoding; /* Py_LegacyWindowsFSEncodingFlag, PYTHONLEGACYWINDOWSFSENCODING */ @@ -577,7 +586,9 @@ pymain_parse_cmdline_impl(_PyMain *pymain) _PyOS_ResetGetOpt(); do { - int c = _PyOS_GetOpt(pymain->argc, pymain->argv, PROGRAM_OPTS); + int longindex = -1; + int c = _PyOS_GetOpt(pymain->argc, pymain->argv, PROGRAM_OPTS, + longoptions, &longindex); if (c == EOF) { break; } @@ -608,6 +619,22 @@ pymain_parse_cmdline_impl(_PyMain *pymain) } switch (c) { + case 0: + // Handle long option. + assert(longindex == 0); // Only one long option now. + if (!wcscmp(_PyOS_optarg, L"always")) { + cmdline->check_hash_pycs_mode = "always"; + } else if (!wcscmp(_PyOS_optarg, L"never")) { + cmdline->check_hash_pycs_mode = "never"; + } else if (!wcscmp(_PyOS_optarg, L"default")) { + cmdline->check_hash_pycs_mode = "default"; + } else { + fprintf(stderr, "--check-hash-based-pycs must be one of " + "'default', 'always', or 'never'\n"); + return 1; + } + break; + case 'b': cmdline->bytes_warning++; break; @@ -1085,6 +1112,8 @@ pymain_set_global_config(_PyMain *pymain) pymain_set_flag(&Py_UnbufferedStdioFlag, cmdline->use_unbuffered_io); pymain_set_flag(&Py_VerboseFlag, cmdline->verbosity); pymain_set_flag(&Py_QuietFlag, cmdline->quiet_flag); + if (cmdline->check_hash_pycs_mode) + _Py_CheckHashBasedPycsMode = cmdline->check_hash_pycs_mode; #ifdef MS_WINDOWS pymain_set_flag(&Py_LegacyWindowsFSEncodingFlag, cmdline->legacy_windows_fs_encoding); pymain_set_flag(&Py_LegacyWindowsStdioFlag, cmdline->legacy_windows_stdio); diff --git a/Modules/zipimport.c b/Modules/zipimport.c index 009480bac58..1d0e0ba9137 100644 --- a/Modules/zipimport.c +++ b/Modules/zipimport.c @@ -1,4 +1,5 @@ #include "Python.h" +#include "internal/import.h" #include "internal/pystate.h" #include "structmember.h" #include "osdefs.h" @@ -1305,7 +1306,7 @@ unmarshal_code(PyObject *pathname, PyObject *data, time_t mtime) unsigned char *buf = (unsigned char *)PyBytes_AsString(data); Py_ssize_t size = PyBytes_Size(data); - if (size < 12) { + if (size < 16) { PyErr_SetString(ZipImportError, "bad pyc data"); return NULL; @@ -1319,7 +1320,16 @@ unmarshal_code(PyObject *pathname, PyObject *data, time_t mtime) Py_RETURN_NONE; /* signal caller to try alternative */ } - if (mtime != 0 && !eq_mtime(get_uint32(buf + 4), mtime)) { + uint32_t flags = get_uint32(buf + 4); + if (flags != 0) { + // Hash-based pyc. We currently refuse to handle checked hash-based + // pycs. We could validate hash-based pycs against the source, but it + // seems likely that most people putting hash-based pycs in a zipfile + // will use unchecked ones. + if (strcmp(_Py_CheckHashBasedPycsMode, "never") && + (flags != 0x1 || !strcmp(_Py_CheckHashBasedPycsMode, "always"))) + Py_RETURN_NONE; + } else if ((mtime != 0 && !eq_mtime(get_uint32(buf + 8), mtime))) { if (Py_VerboseFlag) { PySys_FormatStderr("# %R has bad mtime\n", pathname); @@ -1329,7 +1339,7 @@ unmarshal_code(PyObject *pathname, PyObject *data, time_t mtime) /* XXX the pyc's size field is ignored; timestamp collisions are probably unimportant with zip files. */ - code = PyMarshal_ReadObjectFromString((char *)buf + 12, size - 12); + code = PyMarshal_ReadObjectFromString((char *)buf + 16, size - 16); if (code == NULL) { return NULL; } diff --git a/Python/clinic/import.c.h b/Python/clinic/import.c.h index ddd694ff9be..1955e504550 100644 --- a/Python/clinic/import.c.h +++ b/Python/clinic/import.c.h @@ -354,6 +354,41 @@ exit: return return_value; } +PyDoc_STRVAR(_imp_source_hash__doc__, +"source_hash($module, /, key, source)\n" +"--\n" +"\n"); + +#define _IMP_SOURCE_HASH_METHODDEF \ + {"source_hash", (PyCFunction)_imp_source_hash, METH_FASTCALL|METH_KEYWORDS, _imp_source_hash__doc__}, + +static PyObject * +_imp_source_hash_impl(PyObject *module, long key, Py_buffer *source); + +static PyObject * +_imp_source_hash(PyObject *module, PyObject **args, Py_ssize_t nargs, PyObject *kwnames) +{ + PyObject *return_value = NULL; + static const char * const _keywords[] = {"key", "source", NULL}; + static _PyArg_Parser _parser = {"ly*:source_hash", _keywords, 0}; + long key; + Py_buffer source = {NULL, NULL}; + + if (!_PyArg_ParseStackAndKeywords(args, nargs, kwnames, &_parser, + &key, &source)) { + goto exit; + } + return_value = _imp_source_hash_impl(module, key, &source); + +exit: + /* Cleanup for source */ + if (source.obj) { + PyBuffer_Release(&source); + } + + return return_value; +} + #ifndef _IMP_CREATE_DYNAMIC_METHODDEF #define _IMP_CREATE_DYNAMIC_METHODDEF #endif /* !defined(_IMP_CREATE_DYNAMIC_METHODDEF) */ @@ -361,4 +396,4 @@ exit: #ifndef _IMP_EXEC_DYNAMIC_METHODDEF #define _IMP_EXEC_DYNAMIC_METHODDEF #endif /* !defined(_IMP_EXEC_DYNAMIC_METHODDEF) */ -/*[clinic end generated code: output=d068dd493e513604 input=a9049054013a1b77]*/ +/*[clinic end generated code: output=e8b2c0b0d0a75da8 input=a9049054013a1b77]*/ diff --git a/Python/getopt.c b/Python/getopt.c index 5cf4cbd7bb3..de32ad4d8cb 100644 --- a/Python/getopt.c +++ b/Python/getopt.c @@ -51,7 +51,8 @@ void _PyOS_ResetGetOpt(void) opt_ptr = L""; } -int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring) +int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring, + const _PyOS_LongOption *longopts, int *longindex) { wchar_t *ptr; wchar_t option; @@ -86,13 +87,41 @@ int _PyOS_GetOpt(int argc, wchar_t **argv, wchar_t *optstring) return 'V'; } - opt_ptr = &argv[_PyOS_optind++][1]; } if ((option = *opt_ptr++) == L'\0') return -1; + if (option == L'-') { + // Parse long option. + if (*opt_ptr == L'\0') { + fprintf(stderr, "expected long option\n"); + return -1; + } + *longindex = 0; + const _PyOS_LongOption *opt; + for (opt = &longopts[*longindex]; opt->name; opt = &longopts[++(*longindex)]) { + if (!wcscmp(opt->name, opt_ptr)) + break; + } + if (!opt->name) { + fprintf(stderr, "unknown option %ls\n", argv[_PyOS_optind - 1]); + return '_'; + } + opt_ptr = L""; + if (!opt->has_arg) { + return opt->val; + } + if (_PyOS_optind >= argc) { + fprintf(stderr, "Argument expected for the %ls options\n", + argv[_PyOS_optind - 1]); + return '_'; + } + _PyOS_optarg = argv[_PyOS_optind++]; + return opt->val; + } + if (option == 'J') { if (_PyOS_opterr) fprintf(stderr, "-J is reserved for Jython\n"); diff --git a/Python/import.c b/Python/import.c index dc79685abd4..b2d751111bf 100644 --- a/Python/import.c +++ b/Python/import.c @@ -5,6 +5,8 @@ #include "Python-ast.h" #undef Yield /* undefine macro conflicting with winbase.h */ +#include "internal/hash.h" +#include "internal/import.h" #include "internal/pystate.h" #include "errcode.h" #include "marshal.h" @@ -2184,6 +2186,34 @@ _imp_exec_builtin_impl(PyObject *module, PyObject *mod) return exec_builtin_or_dynamic(mod); } +/*[clinic input] +_imp.source_hash + + key: long + source: Py_buffer +[clinic start generated code]*/ + +static PyObject * +_imp_source_hash_impl(PyObject *module, long key, Py_buffer *source) +/*[clinic end generated code: output=edb292448cf399ea input=9aaad1e590089789]*/ +{ + uint64_t hash = _Py_KeyedHash((uint64_t)key, source->buf, source->len); +#if !PY_LITTLE_ENDIAN + // Force to little-endian. There really ought to be a succinct standard way + // to do this. + union { + uint64_t x; + unsigned char data[sizeof(uint64_t)]; + } pun; + pun.x = hash; + for (size_t i = 0; i < sizeof(pun.data); i++) { + pun.data[sizeof(pun.data) - i - 1] = pun.data[i]; + } + hash = pun.x; +#endif + return PyBytes_FromStringAndSize((const char *)&hash, sizeof(hash)); +} + PyDoc_STRVAR(doc_imp, "(Extremely) low-level import machinery bits as used by importlib and imp."); @@ -2203,6 +2233,7 @@ static PyMethodDef imp_methods[] = { _IMP_EXEC_DYNAMIC_METHODDEF _IMP_EXEC_BUILTIN_METHODDEF _IMP__FIX_CO_FILENAME_METHODDEF + _IMP_SOURCE_HASH_METHODDEF {NULL, NULL} /* sentinel */ }; @@ -2219,6 +2250,8 @@ static struct PyModuleDef impmodule = { NULL }; +const char *_Py_CheckHashBasedPycsMode = "default"; + PyMODINIT_FUNC PyInit_imp(void) { @@ -2230,6 +2263,15 @@ PyInit_imp(void) d = PyModule_GetDict(m); if (d == NULL) goto failure; + PyObject *pyc_mode = PyUnicode_FromString(_Py_CheckHashBasedPycsMode); + if (pyc_mode == NULL) { + goto failure; + } + if (PyDict_SetItemString(d, "check_hash_based_pycs", pyc_mode) < 0) { + Py_DECREF(pyc_mode); + goto failure; + } + Py_DECREF(pyc_mode); return m; failure: diff --git a/Python/importlib_external.h b/Python/importlib_external.h index f122f14f542..907392c209d 100644 --- a/Python/importlib_external.h +++ b/Python/importlib_external.h @@ -1,1266 +1,1659 @@ /* Auto-generated by Programs/_freeze_importlib.c */ const unsigned char _Py_M__importlib_external[] = { 99,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0, - 0,64,0,0,0,115,248,1,0,0,100,0,90,0,100,91, - 90,1,100,92,90,2,101,2,101,1,23,0,90,3,100,4, + 0,64,0,0,0,115,16,2,0,0,100,0,90,0,100,98, + 90,1,100,99,90,2,101,2,101,1,23,0,90,3,100,4, 100,5,132,0,90,4,100,6,100,7,132,0,90,5,100,8, 100,9,132,0,90,6,100,10,100,11,132,0,90,7,100,12, 100,13,132,0,90,8,100,14,100,15,132,0,90,9,100,16, 100,17,132,0,90,10,100,18,100,19,132,0,90,11,100,20, - 100,21,132,0,90,12,100,93,100,23,100,24,132,1,90,13, + 100,21,132,0,90,12,100,100,100,23,100,24,132,1,90,13, 101,14,101,13,106,15,131,1,90,16,100,25,160,17,100,26, 100,27,161,2,100,28,23,0,90,18,101,19,160,20,101,18, 100,27,161,2,90,21,100,29,90,22,100,30,90,23,100,31, 103,1,90,24,100,32,103,1,90,25,101,25,4,0,90,26, - 90,27,100,94,100,33,100,34,156,1,100,35,100,36,132,3, + 90,27,100,101,100,33,100,34,156,1,100,35,100,36,132,3, 90,28,100,37,100,38,132,0,90,29,100,39,100,40,132,0, 90,30,100,41,100,42,132,0,90,31,100,43,100,44,132,0, 90,32,100,45,100,46,132,0,90,33,100,47,100,48,132,0, - 90,34,100,95,100,49,100,50,132,1,90,35,100,96,100,51, - 100,52,132,1,90,36,100,97,100,54,100,55,132,1,90,37, - 100,56,100,57,132,0,90,38,101,39,131,0,90,40,100,98, - 100,33,101,40,100,58,156,2,100,59,100,60,132,3,90,41, - 71,0,100,61,100,62,132,0,100,62,131,2,90,42,71,0, - 100,63,100,64,132,0,100,64,131,2,90,43,71,0,100,65, - 100,66,132,0,100,66,101,43,131,3,90,44,71,0,100,67, - 100,68,132,0,100,68,131,2,90,45,71,0,100,69,100,70, - 132,0,100,70,101,45,101,44,131,4,90,46,71,0,100,71, - 100,72,132,0,100,72,101,45,101,43,131,4,90,47,103,0, - 90,48,71,0,100,73,100,74,132,0,100,74,101,45,101,43, - 131,4,90,49,71,0,100,75,100,76,132,0,100,76,131,2, - 90,50,71,0,100,77,100,78,132,0,100,78,131,2,90,51, - 71,0,100,79,100,80,132,0,100,80,131,2,90,52,71,0, - 100,81,100,82,132,0,100,82,131,2,90,53,100,99,100,83, - 100,84,132,1,90,54,100,85,100,86,132,0,90,55,100,87, - 100,88,132,0,90,56,100,89,100,90,132,0,90,57,100,33, - 83,0,41,100,97,94,1,0,0,67,111,114,101,32,105,109, - 112,108,101,109,101,110,116,97,116,105,111,110,32,111,102,32, - 112,97,116,104,45,98,97,115,101,100,32,105,109,112,111,114, - 116,46,10,10,84,104,105,115,32,109,111,100,117,108,101,32, - 105,115,32,78,79,84,32,109,101,97,110,116,32,116,111,32, - 98,101,32,100,105,114,101,99,116,108,121,32,105,109,112,111, - 114,116,101,100,33,32,73,116,32,104,97,115,32,98,101,101, - 110,32,100,101,115,105,103,110,101,100,32,115,117,99,104,10, - 116,104,97,116,32,105,116,32,99,97,110,32,98,101,32,98, - 111,111,116,115,116,114,97,112,112,101,100,32,105,110,116,111, - 32,80,121,116,104,111,110,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,32,65,115,10,115,117,99,104, - 32,105,116,32,114,101,113,117,105,114,101,115,32,116,104,101, - 32,105,110,106,101,99,116,105,111,110,32,111,102,32,115,112, - 101,99,105,102,105,99,32,109,111,100,117,108,101,115,32,97, - 110,100,32,97,116,116,114,105,98,117,116,101,115,32,105,110, - 32,111,114,100,101,114,32,116,111,10,119,111,114,107,46,32, - 79,110,101,32,115,104,111,117,108,100,32,117,115,101,32,105, - 109,112,111,114,116,108,105,98,32,97,115,32,116,104,101,32, - 112,117,98,108,105,99,45,102,97,99,105,110,103,32,118,101, - 114,115,105,111,110,32,111,102,32,116,104,105,115,32,109,111, - 100,117,108,101,46,10,10,218,3,119,105,110,218,6,99,121, - 103,119,105,110,218,6,100,97,114,119,105,110,99,0,0,0, - 0,0,0,0,0,1,0,0,0,3,0,0,0,3,0,0, - 0,115,60,0,0,0,116,0,106,1,160,2,116,3,161,1, - 114,48,116,0,106,1,160,2,116,4,161,1,114,30,100,1, - 137,0,110,4,100,2,137,0,135,0,102,1,100,3,100,4, - 132,8,125,0,110,8,100,5,100,4,132,0,125,0,124,0, - 83,0,41,6,78,90,12,80,89,84,72,79,78,67,65,83, - 69,79,75,115,12,0,0,0,80,89,84,72,79,78,67,65, - 83,69,79,75,99,0,0,0,0,0,0,0,0,0,0,0, - 0,2,0,0,0,19,0,0,0,115,10,0,0,0,136,0, - 116,0,106,1,107,6,83,0,41,1,122,53,84,114,117,101, - 32,105,102,32,102,105,108,101,110,97,109,101,115,32,109,117, - 115,116,32,98,101,32,99,104,101,99,107,101,100,32,99,97, - 115,101,45,105,110,115,101,110,115,105,116,105,118,101,108,121, - 46,41,2,218,3,95,111,115,90,7,101,110,118,105,114,111, - 110,169,0,41,1,218,3,107,101,121,114,4,0,0,0,250, - 38,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,95,101,120, - 116,101,114,110,97,108,62,218,11,95,114,101,108,97,120,95, - 99,97,115,101,37,0,0,0,115,2,0,0,0,0,2,122, - 37,95,109,97,107,101,95,114,101,108,97,120,95,99,97,115, - 101,46,60,108,111,99,97,108,115,62,46,95,114,101,108,97, - 120,95,99,97,115,101,99,0,0,0,0,0,0,0,0,0, - 0,0,0,1,0,0,0,83,0,0,0,115,4,0,0,0, - 100,1,83,0,41,2,122,53,84,114,117,101,32,105,102,32, - 102,105,108,101,110,97,109,101,115,32,109,117,115,116,32,98, - 101,32,99,104,101,99,107,101,100,32,99,97,115,101,45,105, - 110,115,101,110,115,105,116,105,118,101,108,121,46,70,114,4, - 0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0, - 0,0,114,6,0,0,0,114,7,0,0,0,41,0,0,0, - 115,2,0,0,0,0,2,41,5,218,3,115,121,115,218,8, - 112,108,97,116,102,111,114,109,218,10,115,116,97,114,116,115, - 119,105,116,104,218,27,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,218,35,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,95,83, - 84,82,95,75,69,89,41,1,114,7,0,0,0,114,4,0, - 0,0,41,1,114,5,0,0,0,114,6,0,0,0,218,16, - 95,109,97,107,101,95,114,101,108,97,120,95,99,97,115,101, - 30,0,0,0,115,14,0,0,0,0,1,12,1,12,1,6, - 2,4,2,14,4,8,3,114,13,0,0,0,99,1,0,0, - 0,0,0,0,0,1,0,0,0,4,0,0,0,67,0,0, - 0,115,20,0,0,0,116,0,124,0,131,1,100,1,64,0, - 160,1,100,2,100,3,161,2,83,0,41,4,122,42,67,111, - 110,118,101,114,116,32,97,32,51,50,45,98,105,116,32,105, - 110,116,101,103,101,114,32,116,111,32,108,105,116,116,108,101, - 45,101,110,100,105,97,110,46,108,3,0,0,0,255,127,255, - 127,3,0,233,4,0,0,0,218,6,108,105,116,116,108,101, - 41,2,218,3,105,110,116,218,8,116,111,95,98,121,116,101, - 115,41,1,218,1,120,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,218,7,95,119,95,108,111,110,103,47,0, - 0,0,115,2,0,0,0,0,2,114,19,0,0,0,99,1, - 0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,67, - 0,0,0,115,12,0,0,0,116,0,160,1,124,0,100,1, - 161,2,83,0,41,2,122,47,67,111,110,118,101,114,116,32, - 52,32,98,121,116,101,115,32,105,110,32,108,105,116,116,108, - 101,45,101,110,100,105,97,110,32,116,111,32,97,110,32,105, - 110,116,101,103,101,114,46,114,15,0,0,0,41,2,114,16, - 0,0,0,218,10,102,114,111,109,95,98,121,116,101,115,41, - 1,90,9,105,110,116,95,98,121,116,101,115,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,218,7,95,114,95, - 108,111,110,103,52,0,0,0,115,2,0,0,0,0,2,114, - 21,0,0,0,99,0,0,0,0,0,0,0,0,1,0,0, - 0,4,0,0,0,71,0,0,0,115,20,0,0,0,116,0, - 160,1,100,1,100,2,132,0,124,0,68,0,131,1,161,1, - 83,0,41,3,122,31,82,101,112,108,97,99,101,109,101,110, - 116,32,102,111,114,32,111,115,46,112,97,116,104,46,106,111, - 105,110,40,41,46,99,1,0,0,0,0,0,0,0,2,0, - 0,0,5,0,0,0,83,0,0,0,115,26,0,0,0,103, - 0,124,0,93,18,125,1,124,1,114,4,124,1,160,0,116, - 1,161,1,145,2,113,4,83,0,114,4,0,0,0,41,2, - 218,6,114,115,116,114,105,112,218,15,112,97,116,104,95,115, - 101,112,97,114,97,116,111,114,115,41,2,218,2,46,48,218, - 4,112,97,114,116,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,250,10,60,108,105,115,116,99,111,109,112,62, - 59,0,0,0,115,2,0,0,0,6,1,122,30,95,112,97, - 116,104,95,106,111,105,110,46,60,108,111,99,97,108,115,62, - 46,60,108,105,115,116,99,111,109,112,62,41,2,218,8,112, - 97,116,104,95,115,101,112,218,4,106,111,105,110,41,1,218, - 10,112,97,116,104,95,112,97,114,116,115,114,4,0,0,0, - 114,4,0,0,0,114,6,0,0,0,218,10,95,112,97,116, - 104,95,106,111,105,110,57,0,0,0,115,4,0,0,0,0, - 2,10,1,114,30,0,0,0,99,1,0,0,0,0,0,0, - 0,5,0,0,0,5,0,0,0,67,0,0,0,115,96,0, - 0,0,116,0,116,1,131,1,100,1,107,2,114,36,124,0, - 160,2,116,3,161,1,92,3,125,1,125,2,125,3,124,1, - 124,3,102,2,83,0,120,50,116,4,124,0,131,1,68,0, - 93,38,125,4,124,4,116,1,107,6,114,46,124,0,106,5, - 124,4,100,1,100,2,141,2,92,2,125,1,125,3,124,1, - 124,3,102,2,83,0,113,46,87,0,100,3,124,0,102,2, - 83,0,41,4,122,32,82,101,112,108,97,99,101,109,101,110, - 116,32,102,111,114,32,111,115,46,112,97,116,104,46,115,112, - 108,105,116,40,41,46,233,1,0,0,0,41,1,90,8,109, - 97,120,115,112,108,105,116,218,0,41,6,218,3,108,101,110, - 114,23,0,0,0,218,10,114,112,97,114,116,105,116,105,111, - 110,114,27,0,0,0,218,8,114,101,118,101,114,115,101,100, - 218,6,114,115,112,108,105,116,41,5,218,4,112,97,116,104, - 90,5,102,114,111,110,116,218,1,95,218,4,116,97,105,108, - 114,18,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,11,95,112,97,116,104,95,115,112,108,105, - 116,63,0,0,0,115,16,0,0,0,0,2,12,1,16,1, - 8,1,14,1,8,1,18,1,12,1,114,40,0,0,0,99, - 1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, - 67,0,0,0,115,10,0,0,0,116,0,160,1,124,0,161, - 1,83,0,41,1,122,126,83,116,97,116,32,116,104,101,32, - 112,97,116,104,46,10,10,32,32,32,32,77,97,100,101,32, - 97,32,115,101,112,97,114,97,116,101,32,102,117,110,99,116, - 105,111,110,32,116,111,32,109,97,107,101,32,105,116,32,101, - 97,115,105,101,114,32,116,111,32,111,118,101,114,114,105,100, - 101,32,105,110,32,101,120,112,101,114,105,109,101,110,116,115, - 10,32,32,32,32,40,101,46,103,46,32,99,97,99,104,101, - 32,115,116,97,116,32,114,101,115,117,108,116,115,41,46,10, - 10,32,32,32,32,41,2,114,3,0,0,0,90,4,115,116, - 97,116,41,1,114,37,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,218,10,95,112,97,116,104,95, - 115,116,97,116,75,0,0,0,115,2,0,0,0,0,7,114, - 41,0,0,0,99,2,0,0,0,0,0,0,0,3,0,0, - 0,11,0,0,0,67,0,0,0,115,48,0,0,0,121,12, - 116,0,124,0,131,1,125,2,87,0,110,20,4,0,116,1, - 107,10,114,32,1,0,1,0,1,0,100,1,83,0,88,0, - 124,2,106,2,100,2,64,0,124,1,107,2,83,0,41,3, - 122,49,84,101,115,116,32,119,104,101,116,104,101,114,32,116, - 104,101,32,112,97,116,104,32,105,115,32,116,104,101,32,115, - 112,101,99,105,102,105,101,100,32,109,111,100,101,32,116,121, - 112,101,46,70,105,0,240,0,0,41,3,114,41,0,0,0, - 218,7,79,83,69,114,114,111,114,218,7,115,116,95,109,111, - 100,101,41,3,114,37,0,0,0,218,4,109,111,100,101,90, - 9,115,116,97,116,95,105,110,102,111,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,218,18,95,112,97,116,104, - 95,105,115,95,109,111,100,101,95,116,121,112,101,85,0,0, - 0,115,10,0,0,0,0,2,2,1,12,1,14,1,6,1, - 114,45,0,0,0,99,1,0,0,0,0,0,0,0,1,0, - 0,0,3,0,0,0,67,0,0,0,115,10,0,0,0,116, - 0,124,0,100,1,131,2,83,0,41,2,122,31,82,101,112, - 108,97,99,101,109,101,110,116,32,102,111,114,32,111,115,46, - 112,97,116,104,46,105,115,102,105,108,101,46,105,0,128,0, - 0,41,1,114,45,0,0,0,41,1,114,37,0,0,0,114, - 4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,12, - 95,112,97,116,104,95,105,115,102,105,108,101,94,0,0,0, - 115,2,0,0,0,0,2,114,46,0,0,0,99,1,0,0, - 0,0,0,0,0,1,0,0,0,3,0,0,0,67,0,0, - 0,115,22,0,0,0,124,0,115,12,116,0,160,1,161,0, - 125,0,116,2,124,0,100,1,131,2,83,0,41,2,122,30, - 82,101,112,108,97,99,101,109,101,110,116,32,102,111,114,32, - 111,115,46,112,97,116,104,46,105,115,100,105,114,46,105,0, - 64,0,0,41,3,114,3,0,0,0,218,6,103,101,116,99, - 119,100,114,45,0,0,0,41,1,114,37,0,0,0,114,4, - 0,0,0,114,4,0,0,0,114,6,0,0,0,218,11,95, - 112,97,116,104,95,105,115,100,105,114,99,0,0,0,115,6, - 0,0,0,0,2,4,1,8,1,114,48,0,0,0,233,182, - 1,0,0,99,3,0,0,0,0,0,0,0,6,0,0,0, - 17,0,0,0,67,0,0,0,115,162,0,0,0,100,1,160, - 0,124,0,116,1,124,0,131,1,161,2,125,3,116,2,160, - 3,124,3,116,2,106,4,116,2,106,5,66,0,116,2,106, - 6,66,0,124,2,100,2,64,0,161,3,125,4,121,50,116, - 7,160,8,124,4,100,3,161,2,143,16,125,5,124,5,160, - 9,124,1,161,1,1,0,87,0,100,4,81,0,82,0,88, - 0,116,2,160,10,124,3,124,0,161,2,1,0,87,0,110, - 58,4,0,116,11,107,10,114,156,1,0,1,0,1,0,121, - 14,116,2,160,12,124,3,161,1,1,0,87,0,110,20,4, - 0,116,11,107,10,114,148,1,0,1,0,1,0,89,0,110, - 2,88,0,130,0,89,0,110,2,88,0,100,4,83,0,41, - 5,122,162,66,101,115,116,45,101,102,102,111,114,116,32,102, - 117,110,99,116,105,111,110,32,116,111,32,119,114,105,116,101, - 32,100,97,116,97,32,116,111,32,97,32,112,97,116,104,32, - 97,116,111,109,105,99,97,108,108,121,46,10,32,32,32,32, - 66,101,32,112,114,101,112,97,114,101,100,32,116,111,32,104, - 97,110,100,108,101,32,97,32,70,105,108,101,69,120,105,115, - 116,115,69,114,114,111,114,32,105,102,32,99,111,110,99,117, - 114,114,101,110,116,32,119,114,105,116,105,110,103,32,111,102, - 32,116,104,101,10,32,32,32,32,116,101,109,112,111,114,97, - 114,121,32,102,105,108,101,32,105,115,32,97,116,116,101,109, - 112,116,101,100,46,122,5,123,125,46,123,125,105,182,1,0, - 0,90,2,119,98,78,41,13,218,6,102,111,114,109,97,116, - 218,2,105,100,114,3,0,0,0,90,4,111,112,101,110,90, - 6,79,95,69,88,67,76,90,7,79,95,67,82,69,65,84, - 90,8,79,95,87,82,79,78,76,89,218,3,95,105,111,218, - 6,70,105,108,101,73,79,218,5,119,114,105,116,101,218,7, - 114,101,112,108,97,99,101,114,42,0,0,0,90,6,117,110, - 108,105,110,107,41,6,114,37,0,0,0,218,4,100,97,116, - 97,114,44,0,0,0,90,8,112,97,116,104,95,116,109,112, - 90,2,102,100,218,4,102,105,108,101,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,218,13,95,119,114,105,116, - 101,95,97,116,111,109,105,99,106,0,0,0,115,26,0,0, - 0,0,5,16,1,6,1,26,1,2,3,14,1,20,1,16, - 1,14,1,2,1,14,1,14,1,6,1,114,58,0,0,0, - 105,63,13,0,0,233,2,0,0,0,114,15,0,0,0,115, - 2,0,0,0,13,10,90,11,95,95,112,121,99,97,99,104, - 101,95,95,122,4,111,112,116,45,122,3,46,112,121,122,4, - 46,112,121,99,78,41,1,218,12,111,112,116,105,109,105,122, - 97,116,105,111,110,99,2,0,0,0,1,0,0,0,11,0, - 0,0,6,0,0,0,67,0,0,0,115,244,0,0,0,124, - 1,100,1,107,9,114,52,116,0,160,1,100,2,116,2,161, - 2,1,0,124,2,100,1,107,9,114,40,100,3,125,3,116, - 3,124,3,131,1,130,1,124,1,114,48,100,4,110,2,100, - 5,125,2,116,4,160,5,124,0,161,1,125,0,116,6,124, - 0,131,1,92,2,125,4,125,5,124,5,160,7,100,6,161, - 1,92,3,125,6,125,7,125,8,116,8,106,9,106,10,125, - 9,124,9,100,1,107,8,114,114,116,11,100,7,131,1,130, - 1,100,4,160,12,124,6,114,126,124,6,110,2,124,8,124, - 7,124,9,103,3,161,1,125,10,124,2,100,1,107,8,114, - 172,116,8,106,13,106,14,100,8,107,2,114,164,100,4,125, - 2,110,8,116,8,106,13,106,14,125,2,116,15,124,2,131, - 1,125,2,124,2,100,4,107,3,114,224,124,2,160,16,161, - 0,115,210,116,17,100,9,160,18,124,2,161,1,131,1,130, - 1,100,10,160,18,124,10,116,19,124,2,161,3,125,10,116, - 20,124,4,116,21,124,10,116,22,100,8,25,0,23,0,131, - 3,83,0,41,11,97,254,2,0,0,71,105,118,101,110,32, - 116,104,101,32,112,97,116,104,32,116,111,32,97,32,46,112, - 121,32,102,105,108,101,44,32,114,101,116,117,114,110,32,116, - 104,101,32,112,97,116,104,32,116,111,32,105,116,115,32,46, - 112,121,99,32,102,105,108,101,46,10,10,32,32,32,32,84, - 104,101,32,46,112,121,32,102,105,108,101,32,100,111,101,115, - 32,110,111,116,32,110,101,101,100,32,116,111,32,101,120,105, - 115,116,59,32,116,104,105,115,32,115,105,109,112,108,121,32, - 114,101,116,117,114,110,115,32,116,104,101,32,112,97,116,104, - 32,116,111,32,116,104,101,10,32,32,32,32,46,112,121,99, - 32,102,105,108,101,32,99,97,108,99,117,108,97,116,101,100, - 32,97,115,32,105,102,32,116,104,101,32,46,112,121,32,102, - 105,108,101,32,119,101,114,101,32,105,109,112,111,114,116,101, - 100,46,10,10,32,32,32,32,84,104,101,32,39,111,112,116, - 105,109,105,122,97,116,105,111,110,39,32,112,97,114,97,109, - 101,116,101,114,32,99,111,110,116,114,111,108,115,32,116,104, - 101,32,112,114,101,115,117,109,101,100,32,111,112,116,105,109, - 105,122,97,116,105,111,110,32,108,101,118,101,108,32,111,102, - 10,32,32,32,32,116,104,101,32,98,121,116,101,99,111,100, - 101,32,102,105,108,101,46,32,73,102,32,39,111,112,116,105, - 109,105,122,97,116,105,111,110,39,32,105,115,32,110,111,116, - 32,78,111,110,101,44,32,116,104,101,32,115,116,114,105,110, - 103,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110, - 10,32,32,32,32,111,102,32,116,104,101,32,97,114,103,117, - 109,101,110,116,32,105,115,32,116,97,107,101,110,32,97,110, - 100,32,118,101,114,105,102,105,101,100,32,116,111,32,98,101, - 32,97,108,112,104,97,110,117,109,101,114,105,99,32,40,101, - 108,115,101,32,86,97,108,117,101,69,114,114,111,114,10,32, - 32,32,32,105,115,32,114,97,105,115,101,100,41,46,10,10, - 32,32,32,32,84,104,101,32,100,101,98,117,103,95,111,118, - 101,114,114,105,100,101,32,112,97,114,97,109,101,116,101,114, - 32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32, - 73,102,32,100,101,98,117,103,95,111,118,101,114,114,105,100, - 101,32,105,115,32,110,111,116,32,78,111,110,101,44,10,32, - 32,32,32,97,32,84,114,117,101,32,118,97,108,117,101,32, - 105,115,32,116,104,101,32,115,97,109,101,32,97,115,32,115, - 101,116,116,105,110,103,32,39,111,112,116,105,109,105,122,97, - 116,105,111,110,39,32,116,111,32,116,104,101,32,101,109,112, - 116,121,32,115,116,114,105,110,103,10,32,32,32,32,119,104, - 105,108,101,32,97,32,70,97,108,115,101,32,118,97,108,117, - 101,32,105,115,32,101,113,117,105,118,97,108,101,110,116,32, - 116,111,32,115,101,116,116,105,110,103,32,39,111,112,116,105, - 109,105,122,97,116,105,111,110,39,32,116,111,32,39,49,39, - 46,10,10,32,32,32,32,73,102,32,115,121,115,46,105,109, - 112,108,101,109,101,110,116,97,116,105,111,110,46,99,97,99, - 104,101,95,116,97,103,32,105,115,32,78,111,110,101,32,116, - 104,101,110,32,78,111,116,73,109,112,108,101,109,101,110,116, - 101,100,69,114,114,111,114,32,105,115,32,114,97,105,115,101, - 100,46,10,10,32,32,32,32,78,122,70,116,104,101,32,100, - 101,98,117,103,95,111,118,101,114,114,105,100,101,32,112,97, - 114,97,109,101,116,101,114,32,105,115,32,100,101,112,114,101, - 99,97,116,101,100,59,32,117,115,101,32,39,111,112,116,105, - 109,105,122,97,116,105,111,110,39,32,105,110,115,116,101,97, - 100,122,50,100,101,98,117,103,95,111,118,101,114,114,105,100, - 101,32,111,114,32,111,112,116,105,109,105,122,97,116,105,111, - 110,32,109,117,115,116,32,98,101,32,115,101,116,32,116,111, - 32,78,111,110,101,114,32,0,0,0,114,31,0,0,0,218, - 1,46,122,36,115,121,115,46,105,109,112,108,101,109,101,110, - 116,97,116,105,111,110,46,99,97,99,104,101,95,116,97,103, - 32,105,115,32,78,111,110,101,233,0,0,0,0,122,24,123, - 33,114,125,32,105,115,32,110,111,116,32,97,108,112,104,97, - 110,117,109,101,114,105,99,122,7,123,125,46,123,125,123,125, - 41,23,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,9,84,121,112,101,69,114,114, - 111,114,114,3,0,0,0,218,6,102,115,112,97,116,104,114, - 40,0,0,0,114,34,0,0,0,114,8,0,0,0,218,14, - 105,109,112,108,101,109,101,110,116,97,116,105,111,110,218,9, - 99,97,99,104,101,95,116,97,103,218,19,78,111,116,73,109, - 112,108,101,109,101,110,116,101,100,69,114,114,111,114,114,28, - 0,0,0,218,5,102,108,97,103,115,218,8,111,112,116,105, - 109,105,122,101,218,3,115,116,114,218,7,105,115,97,108,110, - 117,109,218,10,86,97,108,117,101,69,114,114,111,114,114,50, - 0,0,0,218,4,95,79,80,84,114,30,0,0,0,218,8, - 95,80,89,67,65,67,72,69,218,17,66,89,84,69,67,79, - 68,69,95,83,85,70,70,73,88,69,83,41,11,114,37,0, - 0,0,90,14,100,101,98,117,103,95,111,118,101,114,114,105, - 100,101,114,60,0,0,0,218,7,109,101,115,115,97,103,101, - 218,4,104,101,97,100,114,39,0,0,0,90,4,98,97,115, - 101,218,3,115,101,112,218,4,114,101,115,116,90,3,116,97, - 103,90,15,97,108,109,111,115,116,95,102,105,108,101,110,97, - 109,101,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,218,17,99,97,99,104,101,95,102,114,111,109,95,115,111, - 117,114,99,101,9,1,0,0,115,48,0,0,0,0,18,8, - 1,6,1,6,1,8,1,4,1,8,1,12,1,10,1,12, - 1,16,1,8,1,8,1,8,1,24,1,8,1,12,1,6, - 2,8,1,8,1,8,1,8,1,14,1,14,1,114,83,0, - 0,0,99,1,0,0,0,0,0,0,0,8,0,0,0,5, - 0,0,0,67,0,0,0,115,230,0,0,0,116,0,106,1, - 106,2,100,1,107,8,114,20,116,3,100,2,131,1,130,1, - 116,4,160,5,124,0,161,1,125,0,116,6,124,0,131,1, - 92,2,125,1,125,2,116,6,124,1,131,1,92,2,125,1, - 125,3,124,3,116,7,107,3,114,78,116,8,100,3,160,9, - 116,7,124,0,161,2,131,1,130,1,124,2,160,10,100,4, - 161,1,125,4,124,4,100,11,107,7,114,112,116,8,100,7, - 160,9,124,2,161,1,131,1,130,1,110,86,124,4,100,6, - 107,2,114,198,124,2,160,11,100,4,100,5,161,2,100,12, - 25,0,125,5,124,5,160,12,116,13,161,1,115,160,116,8, - 100,8,160,9,116,13,161,1,131,1,130,1,124,5,116,14, - 116,13,131,1,100,1,133,2,25,0,125,6,124,6,160,15, - 161,0,115,198,116,8,100,9,160,9,124,5,161,1,131,1, - 130,1,124,2,160,16,100,4,161,1,100,10,25,0,125,7, - 116,17,124,1,124,7,116,18,100,10,25,0,23,0,131,2, - 83,0,41,13,97,110,1,0,0,71,105,118,101,110,32,116, - 104,101,32,112,97,116,104,32,116,111,32,97,32,46,112,121, - 99,46,32,102,105,108,101,44,32,114,101,116,117,114,110,32, - 116,104,101,32,112,97,116,104,32,116,111,32,105,116,115,32, - 46,112,121,32,102,105,108,101,46,10,10,32,32,32,32,84, - 104,101,32,46,112,121,99,32,102,105,108,101,32,100,111,101, - 115,32,110,111,116,32,110,101,101,100,32,116,111,32,101,120, - 105,115,116,59,32,116,104,105,115,32,115,105,109,112,108,121, - 32,114,101,116,117,114,110,115,32,116,104,101,32,112,97,116, - 104,32,116,111,10,32,32,32,32,116,104,101,32,46,112,121, - 32,102,105,108,101,32,99,97,108,99,117,108,97,116,101,100, - 32,116,111,32,99,111,114,114,101,115,112,111,110,100,32,116, - 111,32,116,104,101,32,46,112,121,99,32,102,105,108,101,46, - 32,32,73,102,32,112,97,116,104,32,100,111,101,115,10,32, - 32,32,32,110,111,116,32,99,111,110,102,111,114,109,32,116, - 111,32,80,69,80,32,51,49,52,55,47,52,56,56,32,102, - 111,114,109,97,116,44,32,86,97,108,117,101,69,114,114,111, - 114,32,119,105,108,108,32,98,101,32,114,97,105,115,101,100, - 46,32,73,102,10,32,32,32,32,115,121,115,46,105,109,112, - 108,101,109,101,110,116,97,116,105,111,110,46,99,97,99,104, - 101,95,116,97,103,32,105,115,32,78,111,110,101,32,116,104, - 101,110,32,78,111,116,73,109,112,108,101,109,101,110,116,101, - 100,69,114,114,111,114,32,105,115,32,114,97,105,115,101,100, - 46,10,10,32,32,32,32,78,122,36,115,121,115,46,105,109, - 112,108,101,109,101,110,116,97,116,105,111,110,46,99,97,99, - 104,101,95,116,97,103,32,105,115,32,78,111,110,101,122,37, - 123,125,32,110,111,116,32,98,111,116,116,111,109,45,108,101, - 118,101,108,32,100,105,114,101,99,116,111,114,121,32,105,110, - 32,123,33,114,125,114,61,0,0,0,114,59,0,0,0,233, - 3,0,0,0,122,33,101,120,112,101,99,116,101,100,32,111, - 110,108,121,32,50,32,111,114,32,51,32,100,111,116,115,32, - 105,110,32,123,33,114,125,122,57,111,112,116,105,109,105,122, - 97,116,105,111,110,32,112,111,114,116,105,111,110,32,111,102, - 32,102,105,108,101,110,97,109,101,32,100,111,101,115,32,110, - 111,116,32,115,116,97,114,116,32,119,105,116,104,32,123,33, - 114,125,122,52,111,112,116,105,109,105,122,97,116,105,111,110, - 32,108,101,118,101,108,32,123,33,114,125,32,105,115,32,110, - 111,116,32,97,110,32,97,108,112,104,97,110,117,109,101,114, - 105,99,32,118,97,108,117,101,114,62,0,0,0,62,2,0, - 0,0,114,59,0,0,0,114,84,0,0,0,233,254,255,255, - 255,41,19,114,8,0,0,0,114,68,0,0,0,114,69,0, - 0,0,114,70,0,0,0,114,3,0,0,0,114,67,0,0, - 0,114,40,0,0,0,114,77,0,0,0,114,75,0,0,0, - 114,50,0,0,0,218,5,99,111,117,110,116,114,36,0,0, - 0,114,10,0,0,0,114,76,0,0,0,114,33,0,0,0, - 114,74,0,0,0,218,9,112,97,114,116,105,116,105,111,110, - 114,30,0,0,0,218,15,83,79,85,82,67,69,95,83,85, - 70,70,73,88,69,83,41,8,114,37,0,0,0,114,80,0, - 0,0,90,16,112,121,99,97,99,104,101,95,102,105,108,101, - 110,97,109,101,90,7,112,121,99,97,99,104,101,90,9,100, - 111,116,95,99,111,117,110,116,114,60,0,0,0,90,9,111, - 112,116,95,108,101,118,101,108,90,13,98,97,115,101,95,102, - 105,108,101,110,97,109,101,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,218,17,115,111,117,114,99,101,95,102, - 114,111,109,95,99,97,99,104,101,54,1,0,0,115,46,0, - 0,0,0,9,12,1,8,1,10,1,12,1,12,1,8,1, - 6,1,10,1,10,1,8,1,6,1,10,1,8,1,16,1, - 10,1,6,1,8,1,16,1,8,1,6,1,8,1,14,1, - 114,89,0,0,0,99,1,0,0,0,0,0,0,0,5,0, - 0,0,12,0,0,0,67,0,0,0,115,126,0,0,0,116, - 0,124,0,131,1,100,1,107,2,114,16,100,2,83,0,124, - 0,160,1,100,3,161,1,92,3,125,1,125,2,125,3,124, - 1,114,56,124,3,160,2,161,0,100,7,100,8,133,2,25, - 0,100,6,107,3,114,60,124,0,83,0,121,12,116,3,124, - 0,131,1,125,4,87,0,110,36,4,0,116,4,116,5,102, - 2,107,10,114,108,1,0,1,0,1,0,124,0,100,2,100, - 9,133,2,25,0,125,4,89,0,110,2,88,0,116,6,124, - 4,131,1,114,122,124,4,83,0,124,0,83,0,41,10,122, - 188,67,111,110,118,101,114,116,32,97,32,98,121,116,101,99, - 111,100,101,32,102,105,108,101,32,112,97,116,104,32,116,111, - 32,97,32,115,111,117,114,99,101,32,112,97,116,104,32,40, - 105,102,32,112,111,115,115,105,98,108,101,41,46,10,10,32, - 32,32,32,84,104,105,115,32,102,117,110,99,116,105,111,110, - 32,101,120,105,115,116,115,32,112,117,114,101,108,121,32,102, - 111,114,32,98,97,99,107,119,97,114,100,115,45,99,111,109, - 112,97,116,105,98,105,108,105,116,121,32,102,111,114,10,32, - 32,32,32,80,121,73,109,112,111,114,116,95,69,120,101,99, - 67,111,100,101,77,111,100,117,108,101,87,105,116,104,70,105, - 108,101,110,97,109,101,115,40,41,32,105,110,32,116,104,101, - 32,67,32,65,80,73,46,10,10,32,32,32,32,114,62,0, - 0,0,78,114,61,0,0,0,114,84,0,0,0,114,31,0, - 0,0,90,2,112,121,233,253,255,255,255,233,255,255,255,255, - 114,91,0,0,0,41,7,114,33,0,0,0,114,34,0,0, - 0,218,5,108,111,119,101,114,114,89,0,0,0,114,70,0, - 0,0,114,75,0,0,0,114,46,0,0,0,41,5,218,13, - 98,121,116,101,99,111,100,101,95,112,97,116,104,114,82,0, - 0,0,114,38,0,0,0,90,9,101,120,116,101,110,115,105, - 111,110,218,11,115,111,117,114,99,101,95,112,97,116,104,114, - 4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,15, - 95,103,101,116,95,115,111,117,114,99,101,102,105,108,101,88, - 1,0,0,115,20,0,0,0,0,7,12,1,4,1,16,1, - 24,1,4,1,2,1,12,1,18,1,18,1,114,95,0,0, - 0,99,1,0,0,0,0,0,0,0,1,0,0,0,11,0, - 0,0,67,0,0,0,115,72,0,0,0,124,0,160,0,116, - 1,116,2,131,1,161,1,114,46,121,8,116,3,124,0,131, - 1,83,0,4,0,116,4,107,10,114,42,1,0,1,0,1, - 0,89,0,113,68,88,0,110,22,124,0,160,0,116,1,116, - 5,131,1,161,1,114,64,124,0,83,0,100,0,83,0,100, - 0,83,0,41,1,78,41,6,218,8,101,110,100,115,119,105, - 116,104,218,5,116,117,112,108,101,114,88,0,0,0,114,83, - 0,0,0,114,70,0,0,0,114,78,0,0,0,41,1,218, - 8,102,105,108,101,110,97,109,101,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,218,11,95,103,101,116,95,99, - 97,99,104,101,100,107,1,0,0,115,16,0,0,0,0,1, - 14,1,2,1,8,1,14,1,8,1,14,1,4,2,114,99, - 0,0,0,99,1,0,0,0,0,0,0,0,2,0,0,0, - 11,0,0,0,67,0,0,0,115,52,0,0,0,121,14,116, - 0,124,0,131,1,106,1,125,1,87,0,110,24,4,0,116, - 2,107,10,114,38,1,0,1,0,1,0,100,1,125,1,89, - 0,110,2,88,0,124,1,100,2,79,0,125,1,124,1,83, - 0,41,3,122,51,67,97,108,99,117,108,97,116,101,32,116, - 104,101,32,109,111,100,101,32,112,101,114,109,105,115,115,105, - 111,110,115,32,102,111,114,32,97,32,98,121,116,101,99,111, - 100,101,32,102,105,108,101,46,105,182,1,0,0,233,128,0, - 0,0,41,3,114,41,0,0,0,114,43,0,0,0,114,42, - 0,0,0,41,2,114,37,0,0,0,114,44,0,0,0,114, - 4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,10, - 95,99,97,108,99,95,109,111,100,101,119,1,0,0,115,12, - 0,0,0,0,2,2,1,14,1,14,1,10,3,8,1,114, - 101,0,0,0,99,1,0,0,0,0,0,0,0,3,0,0, - 0,11,0,0,0,3,0,0,0,115,68,0,0,0,100,6, - 135,0,102,1,100,2,100,3,132,9,125,1,121,10,116,0, - 106,1,125,2,87,0,110,28,4,0,116,2,107,10,114,52, - 1,0,1,0,1,0,100,4,100,5,132,0,125,2,89,0, - 110,2,88,0,124,2,124,1,136,0,131,2,1,0,124,1, - 83,0,41,7,122,252,68,101,99,111,114,97,116,111,114,32, - 116,111,32,118,101,114,105,102,121,32,116,104,97,116,32,116, - 104,101,32,109,111,100,117,108,101,32,98,101,105,110,103,32, - 114,101,113,117,101,115,116,101,100,32,109,97,116,99,104,101, - 115,32,116,104,101,32,111,110,101,32,116,104,101,10,32,32, - 32,32,108,111,97,100,101,114,32,99,97,110,32,104,97,110, - 100,108,101,46,10,10,32,32,32,32,84,104,101,32,102,105, - 114,115,116,32,97,114,103,117,109,101,110,116,32,40,115,101, - 108,102,41,32,109,117,115,116,32,100,101,102,105,110,101,32, - 95,110,97,109,101,32,119,104,105,99,104,32,116,104,101,32, - 115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32, - 105,115,10,32,32,32,32,99,111,109,112,97,114,101,100,32, - 97,103,97,105,110,115,116,46,32,73,102,32,116,104,101,32, - 99,111,109,112,97,114,105,115,111,110,32,102,97,105,108,115, - 32,116,104,101,110,32,73,109,112,111,114,116,69,114,114,111, - 114,32,105,115,32,114,97,105,115,101,100,46,10,10,32,32, - 32,32,78,99,2,0,0,0,0,0,0,0,4,0,0,0, - 4,0,0,0,31,0,0,0,115,66,0,0,0,124,1,100, - 0,107,8,114,16,124,0,106,0,125,1,110,32,124,0,106, - 0,124,1,107,3,114,48,116,1,100,1,124,0,106,0,124, - 1,102,2,22,0,124,1,100,2,141,2,130,1,136,0,124, - 0,124,1,102,2,124,2,158,2,124,3,142,1,83,0,41, - 3,78,122,30,108,111,97,100,101,114,32,102,111,114,32,37, - 115,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32, - 37,115,41,1,218,4,110,97,109,101,41,2,114,102,0,0, - 0,218,11,73,109,112,111,114,116,69,114,114,111,114,41,4, - 218,4,115,101,108,102,114,102,0,0,0,218,4,97,114,103, - 115,90,6,107,119,97,114,103,115,41,1,218,6,109,101,116, - 104,111,100,114,4,0,0,0,114,6,0,0,0,218,19,95, - 99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,112, - 101,114,139,1,0,0,115,12,0,0,0,0,1,8,1,8, - 1,10,1,4,1,18,1,122,40,95,99,104,101,99,107,95, - 110,97,109,101,46,60,108,111,99,97,108,115,62,46,95,99, - 104,101,99,107,95,110,97,109,101,95,119,114,97,112,112,101, - 114,99,2,0,0,0,0,0,0,0,3,0,0,0,7,0, - 0,0,83,0,0,0,115,60,0,0,0,120,40,100,5,68, - 0,93,32,125,2,116,0,124,1,124,2,131,2,114,6,116, - 1,124,0,124,2,116,2,124,1,124,2,131,2,131,3,1, - 0,113,6,87,0,124,0,106,3,160,4,124,1,106,3,161, - 1,1,0,100,0,83,0,41,6,78,218,10,95,95,109,111, - 100,117,108,101,95,95,218,8,95,95,110,97,109,101,95,95, - 218,12,95,95,113,117,97,108,110,97,109,101,95,95,218,7, - 95,95,100,111,99,95,95,41,4,114,108,0,0,0,114,109, - 0,0,0,114,110,0,0,0,114,111,0,0,0,41,5,218, - 7,104,97,115,97,116,116,114,218,7,115,101,116,97,116,116, - 114,218,7,103,101,116,97,116,116,114,218,8,95,95,100,105, - 99,116,95,95,218,6,117,112,100,97,116,101,41,3,90,3, - 110,101,119,90,3,111,108,100,114,55,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,218,5,95,119, - 114,97,112,150,1,0,0,115,8,0,0,0,0,1,10,1, - 10,1,22,1,122,26,95,99,104,101,99,107,95,110,97,109, - 101,46,60,108,111,99,97,108,115,62,46,95,119,114,97,112, - 41,1,78,41,3,218,10,95,98,111,111,116,115,116,114,97, - 112,114,117,0,0,0,218,9,78,97,109,101,69,114,114,111, - 114,41,3,114,106,0,0,0,114,107,0,0,0,114,117,0, - 0,0,114,4,0,0,0,41,1,114,106,0,0,0,114,6, - 0,0,0,218,11,95,99,104,101,99,107,95,110,97,109,101, - 131,1,0,0,115,14,0,0,0,0,8,14,7,2,1,10, - 1,14,2,14,5,10,1,114,120,0,0,0,99,2,0,0, - 0,0,0,0,0,5,0,0,0,6,0,0,0,67,0,0, - 0,115,60,0,0,0,124,0,160,0,124,1,161,1,92,2, - 125,2,125,3,124,2,100,1,107,8,114,56,116,1,124,3, - 131,1,114,56,100,2,125,4,116,2,160,3,124,4,160,4, - 124,3,100,3,25,0,161,1,116,5,161,2,1,0,124,2, - 83,0,41,4,122,155,84,114,121,32,116,111,32,102,105,110, - 100,32,97,32,108,111,97,100,101,114,32,102,111,114,32,116, - 104,101,32,115,112,101,99,105,102,105,101,100,32,109,111,100, - 117,108,101,32,98,121,32,100,101,108,101,103,97,116,105,110, - 103,32,116,111,10,32,32,32,32,115,101,108,102,46,102,105, - 110,100,95,108,111,97,100,101,114,40,41,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,32,105,110,32,102, - 97,118,111,114,32,111,102,32,102,105,110,100,101,114,46,102, - 105,110,100,95,115,112,101,99,40,41,46,10,10,32,32,32, - 32,78,122,44,78,111,116,32,105,109,112,111,114,116,105,110, - 103,32,100,105,114,101,99,116,111,114,121,32,123,125,58,32, - 109,105,115,115,105,110,103,32,95,95,105,110,105,116,95,95, - 114,62,0,0,0,41,6,218,11,102,105,110,100,95,108,111, - 97,100,101,114,114,33,0,0,0,114,63,0,0,0,114,64, - 0,0,0,114,50,0,0,0,218,13,73,109,112,111,114,116, - 87,97,114,110,105,110,103,41,5,114,104,0,0,0,218,8, - 102,117,108,108,110,97,109,101,218,6,108,111,97,100,101,114, - 218,8,112,111,114,116,105,111,110,115,218,3,109,115,103,114, + 90,34,100,49,100,50,132,0,90,35,100,51,100,52,132,0, + 90,36,100,53,100,54,132,0,90,37,100,102,100,55,100,56, + 132,1,90,38,100,103,100,58,100,59,132,1,90,39,100,104, + 100,61,100,62,132,1,90,40,100,63,100,64,132,0,90,41, + 101,42,131,0,90,43,100,105,100,33,101,43,100,65,156,2, + 100,66,100,67,132,3,90,44,71,0,100,68,100,69,132,0, + 100,69,131,2,90,45,71,0,100,70,100,71,132,0,100,71, + 131,2,90,46,71,0,100,72,100,73,132,0,100,73,101,46, + 131,3,90,47,71,0,100,74,100,75,132,0,100,75,131,2, + 90,48,71,0,100,76,100,77,132,0,100,77,101,48,101,47, + 131,4,90,49,71,0,100,78,100,79,132,0,100,79,101,48, + 101,46,131,4,90,50,103,0,90,51,71,0,100,80,100,81, + 132,0,100,81,101,48,101,46,131,4,90,52,71,0,100,82, + 100,83,132,0,100,83,131,2,90,53,71,0,100,84,100,85, + 132,0,100,85,131,2,90,54,71,0,100,86,100,87,132,0, + 100,87,131,2,90,55,71,0,100,88,100,89,132,0,100,89, + 131,2,90,56,100,106,100,90,100,91,132,1,90,57,100,92, + 100,93,132,0,90,58,100,94,100,95,132,0,90,59,100,96, + 100,97,132,0,90,60,100,33,83,0,41,107,97,94,1,0, + 0,67,111,114,101,32,105,109,112,108,101,109,101,110,116,97, + 116,105,111,110,32,111,102,32,112,97,116,104,45,98,97,115, + 101,100,32,105,109,112,111,114,116,46,10,10,84,104,105,115, + 32,109,111,100,117,108,101,32,105,115,32,78,79,84,32,109, + 101,97,110,116,32,116,111,32,98,101,32,100,105,114,101,99, + 116,108,121,32,105,109,112,111,114,116,101,100,33,32,73,116, + 32,104,97,115,32,98,101,101,110,32,100,101,115,105,103,110, + 101,100,32,115,117,99,104,10,116,104,97,116,32,105,116,32, + 99,97,110,32,98,101,32,98,111,111,116,115,116,114,97,112, + 112,101,100,32,105,110,116,111,32,80,121,116,104,111,110,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, + 32,65,115,10,115,117,99,104,32,105,116,32,114,101,113,117, + 105,114,101,115,32,116,104,101,32,105,110,106,101,99,116,105, + 111,110,32,111,102,32,115,112,101,99,105,102,105,99,32,109, + 111,100,117,108,101,115,32,97,110,100,32,97,116,116,114,105, + 98,117,116,101,115,32,105,110,32,111,114,100,101,114,32,116, + 111,10,119,111,114,107,46,32,79,110,101,32,115,104,111,117, + 108,100,32,117,115,101,32,105,109,112,111,114,116,108,105,98, + 32,97,115,32,116,104,101,32,112,117,98,108,105,99,45,102, + 97,99,105,110,103,32,118,101,114,115,105,111,110,32,111,102, + 32,116,104,105,115,32,109,111,100,117,108,101,46,10,10,218, + 3,119,105,110,218,6,99,121,103,119,105,110,218,6,100,97, + 114,119,105,110,99,0,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,3,0,0,0,115,60,0,0,0,116,0, + 106,1,160,2,116,3,161,1,114,48,116,0,106,1,160,2, + 116,4,161,1,114,30,100,1,137,0,110,4,100,2,137,0, + 135,0,102,1,100,3,100,4,132,8,125,0,110,8,100,5, + 100,4,132,0,125,0,124,0,83,0,41,6,78,90,12,80, + 89,84,72,79,78,67,65,83,69,79,75,115,12,0,0,0, + 80,89,84,72,79,78,67,65,83,69,79,75,99,0,0,0, + 0,0,0,0,0,0,0,0,0,2,0,0,0,19,0,0, + 0,115,10,0,0,0,136,0,116,0,106,1,107,6,83,0, + 41,1,122,53,84,114,117,101,32,105,102,32,102,105,108,101, + 110,97,109,101,115,32,109,117,115,116,32,98,101,32,99,104, + 101,99,107,101,100,32,99,97,115,101,45,105,110,115,101,110, + 115,105,116,105,118,101,108,121,46,41,2,218,3,95,111,115, + 90,7,101,110,118,105,114,111,110,169,0,41,1,218,3,107, + 101,121,114,4,0,0,0,250,38,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,95,101,120,116,101,114,110,97,108,62,218, + 11,95,114,101,108,97,120,95,99,97,115,101,37,0,0,0, + 115,2,0,0,0,0,2,122,37,95,109,97,107,101,95,114, + 101,108,97,120,95,99,97,115,101,46,60,108,111,99,97,108, + 115,62,46,95,114,101,108,97,120,95,99,97,115,101,99,0, + 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,83, + 0,0,0,115,4,0,0,0,100,1,83,0,41,2,122,53, + 84,114,117,101,32,105,102,32,102,105,108,101,110,97,109,101, + 115,32,109,117,115,116,32,98,101,32,99,104,101,99,107,101, + 100,32,99,97,115,101,45,105,110,115,101,110,115,105,116,105, + 118,101,108,121,46,70,114,4,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,114, + 7,0,0,0,41,0,0,0,115,2,0,0,0,0,2,41, + 5,218,3,115,121,115,218,8,112,108,97,116,102,111,114,109, + 218,10,115,116,97,114,116,115,119,105,116,104,218,27,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,218,35,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,95,83,84,82,95,75,69,89,41,1, + 114,7,0,0,0,114,4,0,0,0,41,1,114,5,0,0, + 0,114,6,0,0,0,218,16,95,109,97,107,101,95,114,101, + 108,97,120,95,99,97,115,101,30,0,0,0,115,14,0,0, + 0,0,1,12,1,12,1,6,2,4,2,14,4,8,3,114, + 13,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, + 0,4,0,0,0,67,0,0,0,115,20,0,0,0,116,0, + 124,0,131,1,100,1,64,0,160,1,100,2,100,3,161,2, + 83,0,41,4,122,42,67,111,110,118,101,114,116,32,97,32, + 51,50,45,98,105,116,32,105,110,116,101,103,101,114,32,116, + 111,32,108,105,116,116,108,101,45,101,110,100,105,97,110,46, + 108,3,0,0,0,255,127,255,127,3,0,233,4,0,0,0, + 218,6,108,105,116,116,108,101,41,2,218,3,105,110,116,218, + 8,116,111,95,98,121,116,101,115,41,1,218,1,120,114,4, + 0,0,0,114,4,0,0,0,114,6,0,0,0,218,7,95, + 119,95,108,111,110,103,47,0,0,0,115,2,0,0,0,0, + 2,114,19,0,0,0,99,1,0,0,0,0,0,0,0,1, + 0,0,0,4,0,0,0,67,0,0,0,115,12,0,0,0, + 116,0,160,1,124,0,100,1,161,2,83,0,41,2,122,47, + 67,111,110,118,101,114,116,32,52,32,98,121,116,101,115,32, + 105,110,32,108,105,116,116,108,101,45,101,110,100,105,97,110, + 32,116,111,32,97,110,32,105,110,116,101,103,101,114,46,114, + 15,0,0,0,41,2,114,16,0,0,0,218,10,102,114,111, + 109,95,98,121,116,101,115,41,1,90,9,105,110,116,95,98, + 121,116,101,115,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,7,95,114,95,108,111,110,103,52,0,0,0, + 115,2,0,0,0,0,2,114,21,0,0,0,99,0,0,0, + 0,0,0,0,0,1,0,0,0,4,0,0,0,71,0,0, + 0,115,20,0,0,0,116,0,160,1,100,1,100,2,132,0, + 124,0,68,0,131,1,161,1,83,0,41,3,122,31,82,101, + 112,108,97,99,101,109,101,110,116,32,102,111,114,32,111,115, + 46,112,97,116,104,46,106,111,105,110,40,41,46,99,1,0, + 0,0,0,0,0,0,2,0,0,0,5,0,0,0,83,0, + 0,0,115,26,0,0,0,103,0,124,0,93,18,125,1,124, + 1,114,4,124,1,160,0,116,1,161,1,145,2,113,4,83, + 0,114,4,0,0,0,41,2,218,6,114,115,116,114,105,112, + 218,15,112,97,116,104,95,115,101,112,97,114,97,116,111,114, + 115,41,2,218,2,46,48,218,4,112,97,114,116,114,4,0, + 0,0,114,4,0,0,0,114,6,0,0,0,250,10,60,108, + 105,115,116,99,111,109,112,62,59,0,0,0,115,2,0,0, + 0,6,1,122,30,95,112,97,116,104,95,106,111,105,110,46, + 60,108,111,99,97,108,115,62,46,60,108,105,115,116,99,111, + 109,112,62,41,2,218,8,112,97,116,104,95,115,101,112,218, + 4,106,111,105,110,41,1,218,10,112,97,116,104,95,112,97, + 114,116,115,114,4,0,0,0,114,4,0,0,0,114,6,0, + 0,0,218,10,95,112,97,116,104,95,106,111,105,110,57,0, + 0,0,115,4,0,0,0,0,2,10,1,114,30,0,0,0, + 99,1,0,0,0,0,0,0,0,5,0,0,0,5,0,0, + 0,67,0,0,0,115,96,0,0,0,116,0,116,1,131,1, + 100,1,107,2,114,36,124,0,160,2,116,3,161,1,92,3, + 125,1,125,2,125,3,124,1,124,3,102,2,83,0,120,50, + 116,4,124,0,131,1,68,0,93,38,125,4,124,4,116,1, + 107,6,114,46,124,0,106,5,124,4,100,1,100,2,141,2, + 92,2,125,1,125,3,124,1,124,3,102,2,83,0,113,46, + 87,0,100,3,124,0,102,2,83,0,41,4,122,32,82,101, + 112,108,97,99,101,109,101,110,116,32,102,111,114,32,111,115, + 46,112,97,116,104,46,115,112,108,105,116,40,41,46,233,1, + 0,0,0,41,1,90,8,109,97,120,115,112,108,105,116,218, + 0,41,6,218,3,108,101,110,114,23,0,0,0,218,10,114, + 112,97,114,116,105,116,105,111,110,114,27,0,0,0,218,8, + 114,101,118,101,114,115,101,100,218,6,114,115,112,108,105,116, + 41,5,218,4,112,97,116,104,90,5,102,114,111,110,116,218, + 1,95,218,4,116,97,105,108,114,18,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,6,0,0,0,218,11,95,112, + 97,116,104,95,115,112,108,105,116,63,0,0,0,115,16,0, + 0,0,0,2,12,1,16,1,8,1,14,1,8,1,18,1, + 12,1,114,40,0,0,0,99,1,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,67,0,0,0,115,10,0,0, + 0,116,0,160,1,124,0,161,1,83,0,41,1,122,126,83, + 116,97,116,32,116,104,101,32,112,97,116,104,46,10,10,32, + 32,32,32,77,97,100,101,32,97,32,115,101,112,97,114,97, + 116,101,32,102,117,110,99,116,105,111,110,32,116,111,32,109, + 97,107,101,32,105,116,32,101,97,115,105,101,114,32,116,111, + 32,111,118,101,114,114,105,100,101,32,105,110,32,101,120,112, + 101,114,105,109,101,110,116,115,10,32,32,32,32,40,101,46, + 103,46,32,99,97,99,104,101,32,115,116,97,116,32,114,101, + 115,117,108,116,115,41,46,10,10,32,32,32,32,41,2,114, + 3,0,0,0,90,4,115,116,97,116,41,1,114,37,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 218,10,95,112,97,116,104,95,115,116,97,116,75,0,0,0, + 115,2,0,0,0,0,7,114,41,0,0,0,99,2,0,0, + 0,0,0,0,0,3,0,0,0,11,0,0,0,67,0,0, + 0,115,48,0,0,0,121,12,116,0,124,0,131,1,125,2, + 87,0,110,20,4,0,116,1,107,10,114,32,1,0,1,0, + 1,0,100,1,83,0,88,0,124,2,106,2,100,2,64,0, + 124,1,107,2,83,0,41,3,122,49,84,101,115,116,32,119, + 104,101,116,104,101,114,32,116,104,101,32,112,97,116,104,32, + 105,115,32,116,104,101,32,115,112,101,99,105,102,105,101,100, + 32,109,111,100,101,32,116,121,112,101,46,70,105,0,240,0, + 0,41,3,114,41,0,0,0,218,7,79,83,69,114,114,111, + 114,218,7,115,116,95,109,111,100,101,41,3,114,37,0,0, + 0,218,4,109,111,100,101,90,9,115,116,97,116,95,105,110, + 102,111,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,18,95,112,97,116,104,95,105,115,95,109,111,100,101, + 95,116,121,112,101,85,0,0,0,115,10,0,0,0,0,2, + 2,1,12,1,14,1,6,1,114,45,0,0,0,99,1,0, + 0,0,0,0,0,0,1,0,0,0,3,0,0,0,67,0, + 0,0,115,10,0,0,0,116,0,124,0,100,1,131,2,83, + 0,41,2,122,31,82,101,112,108,97,99,101,109,101,110,116, + 32,102,111,114,32,111,115,46,112,97,116,104,46,105,115,102, + 105,108,101,46,105,0,128,0,0,41,1,114,45,0,0,0, + 41,1,114,37,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,12,95,112,97,116,104,95,105,115, + 102,105,108,101,94,0,0,0,115,2,0,0,0,0,2,114, + 46,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,67,0,0,0,115,22,0,0,0,124,0, + 115,12,116,0,160,1,161,0,125,0,116,2,124,0,100,1, + 131,2,83,0,41,2,122,30,82,101,112,108,97,99,101,109, + 101,110,116,32,102,111,114,32,111,115,46,112,97,116,104,46, + 105,115,100,105,114,46,105,0,64,0,0,41,3,114,3,0, + 0,0,218,6,103,101,116,99,119,100,114,45,0,0,0,41, + 1,114,37,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,11,95,112,97,116,104,95,105,115,100, + 105,114,99,0,0,0,115,6,0,0,0,0,2,4,1,8, + 1,114,48,0,0,0,233,182,1,0,0,99,3,0,0,0, + 0,0,0,0,6,0,0,0,17,0,0,0,67,0,0,0, + 115,162,0,0,0,100,1,160,0,124,0,116,1,124,0,131, + 1,161,2,125,3,116,2,160,3,124,3,116,2,106,4,116, + 2,106,5,66,0,116,2,106,6,66,0,124,2,100,2,64, + 0,161,3,125,4,121,50,116,7,160,8,124,4,100,3,161, + 2,143,16,125,5,124,5,160,9,124,1,161,1,1,0,87, + 0,100,4,81,0,82,0,88,0,116,2,160,10,124,3,124, + 0,161,2,1,0,87,0,110,58,4,0,116,11,107,10,114, + 156,1,0,1,0,1,0,121,14,116,2,160,12,124,3,161, + 1,1,0,87,0,110,20,4,0,116,11,107,10,114,148,1, + 0,1,0,1,0,89,0,110,2,88,0,130,0,89,0,110, + 2,88,0,100,4,83,0,41,5,122,162,66,101,115,116,45, + 101,102,102,111,114,116,32,102,117,110,99,116,105,111,110,32, + 116,111,32,119,114,105,116,101,32,100,97,116,97,32,116,111, + 32,97,32,112,97,116,104,32,97,116,111,109,105,99,97,108, + 108,121,46,10,32,32,32,32,66,101,32,112,114,101,112,97, + 114,101,100,32,116,111,32,104,97,110,100,108,101,32,97,32, + 70,105,108,101,69,120,105,115,116,115,69,114,114,111,114,32, + 105,102,32,99,111,110,99,117,114,114,101,110,116,32,119,114, + 105,116,105,110,103,32,111,102,32,116,104,101,10,32,32,32, + 32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32, + 105,115,32,97,116,116,101,109,112,116,101,100,46,122,5,123, + 125,46,123,125,105,182,1,0,0,90,2,119,98,78,41,13, + 218,6,102,111,114,109,97,116,218,2,105,100,114,3,0,0, + 0,90,4,111,112,101,110,90,6,79,95,69,88,67,76,90, + 7,79,95,67,82,69,65,84,90,8,79,95,87,82,79,78, + 76,89,218,3,95,105,111,218,6,70,105,108,101,73,79,218, + 5,119,114,105,116,101,218,7,114,101,112,108,97,99,101,114, + 42,0,0,0,90,6,117,110,108,105,110,107,41,6,114,37, + 0,0,0,218,4,100,97,116,97,114,44,0,0,0,90,8, + 112,97,116,104,95,116,109,112,90,2,102,100,218,4,102,105, + 108,101,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,13,95,119,114,105,116,101,95,97,116,111,109,105,99, + 106,0,0,0,115,26,0,0,0,0,5,16,1,6,1,26, + 1,2,3,14,1,20,1,16,1,14,1,2,1,14,1,14, + 1,6,1,114,58,0,0,0,105,64,13,0,0,233,2,0, + 0,0,114,15,0,0,0,115,2,0,0,0,13,10,90,11, + 95,95,112,121,99,97,99,104,101,95,95,122,4,111,112,116, + 45,122,3,46,112,121,122,4,46,112,121,99,78,41,1,218, + 12,111,112,116,105,109,105,122,97,116,105,111,110,99,2,0, + 0,0,1,0,0,0,11,0,0,0,6,0,0,0,67,0, + 0,0,115,244,0,0,0,124,1,100,1,107,9,114,52,116, + 0,160,1,100,2,116,2,161,2,1,0,124,2,100,1,107, + 9,114,40,100,3,125,3,116,3,124,3,131,1,130,1,124, + 1,114,48,100,4,110,2,100,5,125,2,116,4,160,5,124, + 0,161,1,125,0,116,6,124,0,131,1,92,2,125,4,125, + 5,124,5,160,7,100,6,161,1,92,3,125,6,125,7,125, + 8,116,8,106,9,106,10,125,9,124,9,100,1,107,8,114, + 114,116,11,100,7,131,1,130,1,100,4,160,12,124,6,114, + 126,124,6,110,2,124,8,124,7,124,9,103,3,161,1,125, + 10,124,2,100,1,107,8,114,172,116,8,106,13,106,14,100, + 8,107,2,114,164,100,4,125,2,110,8,116,8,106,13,106, + 14,125,2,116,15,124,2,131,1,125,2,124,2,100,4,107, + 3,114,224,124,2,160,16,161,0,115,210,116,17,100,9,160, + 18,124,2,161,1,131,1,130,1,100,10,160,18,124,10,116, + 19,124,2,161,3,125,10,116,20,124,4,116,21,124,10,116, + 22,100,8,25,0,23,0,131,3,83,0,41,11,97,254,2, + 0,0,71,105,118,101,110,32,116,104,101,32,112,97,116,104, + 32,116,111,32,97,32,46,112,121,32,102,105,108,101,44,32, + 114,101,116,117,114,110,32,116,104,101,32,112,97,116,104,32, + 116,111,32,105,116,115,32,46,112,121,99,32,102,105,108,101, + 46,10,10,32,32,32,32,84,104,101,32,46,112,121,32,102, + 105,108,101,32,100,111,101,115,32,110,111,116,32,110,101,101, + 100,32,116,111,32,101,120,105,115,116,59,32,116,104,105,115, + 32,115,105,109,112,108,121,32,114,101,116,117,114,110,115,32, + 116,104,101,32,112,97,116,104,32,116,111,32,116,104,101,10, + 32,32,32,32,46,112,121,99,32,102,105,108,101,32,99,97, + 108,99,117,108,97,116,101,100,32,97,115,32,105,102,32,116, + 104,101,32,46,112,121,32,102,105,108,101,32,119,101,114,101, + 32,105,109,112,111,114,116,101,100,46,10,10,32,32,32,32, + 84,104,101,32,39,111,112,116,105,109,105,122,97,116,105,111, + 110,39,32,112,97,114,97,109,101,116,101,114,32,99,111,110, + 116,114,111,108,115,32,116,104,101,32,112,114,101,115,117,109, + 101,100,32,111,112,116,105,109,105,122,97,116,105,111,110,32, + 108,101,118,101,108,32,111,102,10,32,32,32,32,116,104,101, + 32,98,121,116,101,99,111,100,101,32,102,105,108,101,46,32, + 73,102,32,39,111,112,116,105,109,105,122,97,116,105,111,110, + 39,32,105,115,32,110,111,116,32,78,111,110,101,44,32,116, + 104,101,32,115,116,114,105,110,103,32,114,101,112,114,101,115, + 101,110,116,97,116,105,111,110,10,32,32,32,32,111,102,32, + 116,104,101,32,97,114,103,117,109,101,110,116,32,105,115,32, + 116,97,107,101,110,32,97,110,100,32,118,101,114,105,102,105, + 101,100,32,116,111,32,98,101,32,97,108,112,104,97,110,117, + 109,101,114,105,99,32,40,101,108,115,101,32,86,97,108,117, + 101,69,114,114,111,114,10,32,32,32,32,105,115,32,114,97, + 105,115,101,100,41,46,10,10,32,32,32,32,84,104,101,32, + 100,101,98,117,103,95,111,118,101,114,114,105,100,101,32,112, + 97,114,97,109,101,116,101,114,32,105,115,32,100,101,112,114, + 101,99,97,116,101,100,46,32,73,102,32,100,101,98,117,103, + 95,111,118,101,114,114,105,100,101,32,105,115,32,110,111,116, + 32,78,111,110,101,44,10,32,32,32,32,97,32,84,114,117, + 101,32,118,97,108,117,101,32,105,115,32,116,104,101,32,115, + 97,109,101,32,97,115,32,115,101,116,116,105,110,103,32,39, + 111,112,116,105,109,105,122,97,116,105,111,110,39,32,116,111, + 32,116,104,101,32,101,109,112,116,121,32,115,116,114,105,110, + 103,10,32,32,32,32,119,104,105,108,101,32,97,32,70,97, + 108,115,101,32,118,97,108,117,101,32,105,115,32,101,113,117, + 105,118,97,108,101,110,116,32,116,111,32,115,101,116,116,105, + 110,103,32,39,111,112,116,105,109,105,122,97,116,105,111,110, + 39,32,116,111,32,39,49,39,46,10,10,32,32,32,32,73, + 102,32,115,121,115,46,105,109,112,108,101,109,101,110,116,97, + 116,105,111,110,46,99,97,99,104,101,95,116,97,103,32,105, + 115,32,78,111,110,101,32,116,104,101,110,32,78,111,116,73, + 109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,32, + 105,115,32,114,97,105,115,101,100,46,10,10,32,32,32,32, + 78,122,70,116,104,101,32,100,101,98,117,103,95,111,118,101, + 114,114,105,100,101,32,112,97,114,97,109,101,116,101,114,32, + 105,115,32,100,101,112,114,101,99,97,116,101,100,59,32,117, + 115,101,32,39,111,112,116,105,109,105,122,97,116,105,111,110, + 39,32,105,110,115,116,101,97,100,122,50,100,101,98,117,103, + 95,111,118,101,114,114,105,100,101,32,111,114,32,111,112,116, + 105,109,105,122,97,116,105,111,110,32,109,117,115,116,32,98, + 101,32,115,101,116,32,116,111,32,78,111,110,101,114,32,0, + 0,0,114,31,0,0,0,218,1,46,122,36,115,121,115,46, + 105,109,112,108,101,109,101,110,116,97,116,105,111,110,46,99, + 97,99,104,101,95,116,97,103,32,105,115,32,78,111,110,101, + 233,0,0,0,0,122,24,123,33,114,125,32,105,115,32,110, + 111,116,32,97,108,112,104,97,110,117,109,101,114,105,99,122, + 7,123,125,46,123,125,123,125,41,23,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, + 9,84,121,112,101,69,114,114,111,114,114,3,0,0,0,218, + 6,102,115,112,97,116,104,114,40,0,0,0,114,34,0,0, + 0,114,8,0,0,0,218,14,105,109,112,108,101,109,101,110, + 116,97,116,105,111,110,218,9,99,97,99,104,101,95,116,97, + 103,218,19,78,111,116,73,109,112,108,101,109,101,110,116,101, + 100,69,114,114,111,114,114,28,0,0,0,218,5,102,108,97, + 103,115,218,8,111,112,116,105,109,105,122,101,218,3,115,116, + 114,218,7,105,115,97,108,110,117,109,218,10,86,97,108,117, + 101,69,114,114,111,114,114,50,0,0,0,218,4,95,79,80, + 84,114,30,0,0,0,218,8,95,80,89,67,65,67,72,69, + 218,17,66,89,84,69,67,79,68,69,95,83,85,70,70,73, + 88,69,83,41,11,114,37,0,0,0,90,14,100,101,98,117, + 103,95,111,118,101,114,114,105,100,101,114,60,0,0,0,218, + 7,109,101,115,115,97,103,101,218,4,104,101,97,100,114,39, + 0,0,0,90,4,98,97,115,101,218,3,115,101,112,218,4, + 114,101,115,116,90,3,116,97,103,90,15,97,108,109,111,115, + 116,95,102,105,108,101,110,97,109,101,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,218,17,99,97,99,104,101, + 95,102,114,111,109,95,115,111,117,114,99,101,10,1,0,0, + 115,48,0,0,0,0,18,8,1,6,1,6,1,8,1,4, + 1,8,1,12,1,10,1,12,1,16,1,8,1,8,1,8, + 1,24,1,8,1,12,1,6,2,8,1,8,1,8,1,8, + 1,14,1,14,1,114,83,0,0,0,99,1,0,0,0,0, + 0,0,0,8,0,0,0,5,0,0,0,67,0,0,0,115, + 230,0,0,0,116,0,106,1,106,2,100,1,107,8,114,20, + 116,3,100,2,131,1,130,1,116,4,160,5,124,0,161,1, + 125,0,116,6,124,0,131,1,92,2,125,1,125,2,116,6, + 124,1,131,1,92,2,125,1,125,3,124,3,116,7,107,3, + 114,78,116,8,100,3,160,9,116,7,124,0,161,2,131,1, + 130,1,124,2,160,10,100,4,161,1,125,4,124,4,100,11, + 107,7,114,112,116,8,100,7,160,9,124,2,161,1,131,1, + 130,1,110,86,124,4,100,6,107,2,114,198,124,2,160,11, + 100,4,100,5,161,2,100,12,25,0,125,5,124,5,160,12, + 116,13,161,1,115,160,116,8,100,8,160,9,116,13,161,1, + 131,1,130,1,124,5,116,14,116,13,131,1,100,1,133,2, + 25,0,125,6,124,6,160,15,161,0,115,198,116,8,100,9, + 160,9,124,5,161,1,131,1,130,1,124,2,160,16,100,4, + 161,1,100,10,25,0,125,7,116,17,124,1,124,7,116,18, + 100,10,25,0,23,0,131,2,83,0,41,13,97,110,1,0, + 0,71,105,118,101,110,32,116,104,101,32,112,97,116,104,32, + 116,111,32,97,32,46,112,121,99,46,32,102,105,108,101,44, + 32,114,101,116,117,114,110,32,116,104,101,32,112,97,116,104, + 32,116,111,32,105,116,115,32,46,112,121,32,102,105,108,101, + 46,10,10,32,32,32,32,84,104,101,32,46,112,121,99,32, + 102,105,108,101,32,100,111,101,115,32,110,111,116,32,110,101, + 101,100,32,116,111,32,101,120,105,115,116,59,32,116,104,105, + 115,32,115,105,109,112,108,121,32,114,101,116,117,114,110,115, + 32,116,104,101,32,112,97,116,104,32,116,111,10,32,32,32, + 32,116,104,101,32,46,112,121,32,102,105,108,101,32,99,97, + 108,99,117,108,97,116,101,100,32,116,111,32,99,111,114,114, + 101,115,112,111,110,100,32,116,111,32,116,104,101,32,46,112, + 121,99,32,102,105,108,101,46,32,32,73,102,32,112,97,116, + 104,32,100,111,101,115,10,32,32,32,32,110,111,116,32,99, + 111,110,102,111,114,109,32,116,111,32,80,69,80,32,51,49, + 52,55,47,52,56,56,32,102,111,114,109,97,116,44,32,86, + 97,108,117,101,69,114,114,111,114,32,119,105,108,108,32,98, + 101,32,114,97,105,115,101,100,46,32,73,102,10,32,32,32, + 32,115,121,115,46,105,109,112,108,101,109,101,110,116,97,116, + 105,111,110,46,99,97,99,104,101,95,116,97,103,32,105,115, + 32,78,111,110,101,32,116,104,101,110,32,78,111,116,73,109, + 112,108,101,109,101,110,116,101,100,69,114,114,111,114,32,105, + 115,32,114,97,105,115,101,100,46,10,10,32,32,32,32,78, + 122,36,115,121,115,46,105,109,112,108,101,109,101,110,116,97, + 116,105,111,110,46,99,97,99,104,101,95,116,97,103,32,105, + 115,32,78,111,110,101,122,37,123,125,32,110,111,116,32,98, + 111,116,116,111,109,45,108,101,118,101,108,32,100,105,114,101, + 99,116,111,114,121,32,105,110,32,123,33,114,125,114,61,0, + 0,0,114,59,0,0,0,233,3,0,0,0,122,33,101,120, + 112,101,99,116,101,100,32,111,110,108,121,32,50,32,111,114, + 32,51,32,100,111,116,115,32,105,110,32,123,33,114,125,122, + 57,111,112,116,105,109,105,122,97,116,105,111,110,32,112,111, + 114,116,105,111,110,32,111,102,32,102,105,108,101,110,97,109, + 101,32,100,111,101,115,32,110,111,116,32,115,116,97,114,116, + 32,119,105,116,104,32,123,33,114,125,122,52,111,112,116,105, + 109,105,122,97,116,105,111,110,32,108,101,118,101,108,32,123, + 33,114,125,32,105,115,32,110,111,116,32,97,110,32,97,108, + 112,104,97,110,117,109,101,114,105,99,32,118,97,108,117,101, + 114,62,0,0,0,62,2,0,0,0,114,59,0,0,0,114, + 84,0,0,0,233,254,255,255,255,41,19,114,8,0,0,0, + 114,68,0,0,0,114,69,0,0,0,114,70,0,0,0,114, + 3,0,0,0,114,67,0,0,0,114,40,0,0,0,114,77, + 0,0,0,114,75,0,0,0,114,50,0,0,0,218,5,99, + 111,117,110,116,114,36,0,0,0,114,10,0,0,0,114,76, + 0,0,0,114,33,0,0,0,114,74,0,0,0,218,9,112, + 97,114,116,105,116,105,111,110,114,30,0,0,0,218,15,83, + 79,85,82,67,69,95,83,85,70,70,73,88,69,83,41,8, + 114,37,0,0,0,114,80,0,0,0,90,16,112,121,99,97, + 99,104,101,95,102,105,108,101,110,97,109,101,90,7,112,121, + 99,97,99,104,101,90,9,100,111,116,95,99,111,117,110,116, + 114,60,0,0,0,90,9,111,112,116,95,108,101,118,101,108, + 90,13,98,97,115,101,95,102,105,108,101,110,97,109,101,114, 4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,17, - 95,102,105,110,100,95,109,111,100,117,108,101,95,115,104,105, - 109,159,1,0,0,115,10,0,0,0,0,10,14,1,16,1, - 4,1,22,1,114,127,0,0,0,99,4,0,0,0,0,0, - 0,0,11,0,0,0,20,0,0,0,67,0,0,0,115,136, - 1,0,0,105,0,125,4,124,2,100,1,107,9,114,22,124, - 2,124,4,100,2,60,0,110,4,100,3,125,2,124,3,100, - 1,107,9,114,42,124,3,124,4,100,4,60,0,124,0,100, - 1,100,5,133,2,25,0,125,5,124,0,100,5,100,6,133, - 2,25,0,125,6,124,0,100,6,100,7,133,2,25,0,125, - 7,124,5,116,0,107,3,114,124,100,8,160,1,124,2,124, - 5,161,2,125,8,116,2,160,3,100,9,124,8,161,2,1, - 0,116,4,124,8,102,1,124,4,142,1,130,1,110,86,116, - 5,124,6,131,1,100,5,107,3,114,168,100,10,160,1,124, - 2,161,1,125,8,116,2,160,3,100,9,124,8,161,2,1, - 0,116,6,124,8,131,1,130,1,110,42,116,5,124,7,131, - 1,100,5,107,3,114,210,100,11,160,1,124,2,161,1,125, - 8,116,2,160,3,100,9,124,8,161,2,1,0,116,6,124, - 8,131,1,130,1,124,1,100,1,107,9,144,1,114,124,121, - 16,116,7,124,1,100,12,25,0,131,1,125,9,87,0,110, - 22,4,0,116,8,107,10,144,1,114,2,1,0,1,0,1, - 0,89,0,110,50,88,0,116,9,124,6,131,1,124,9,107, - 3,144,1,114,52,100,13,160,1,124,2,161,1,125,8,116, - 2,160,3,100,9,124,8,161,2,1,0,116,4,124,8,102, - 1,124,4,142,1,130,1,121,16,124,1,100,14,25,0,100, - 15,64,0,125,10,87,0,110,22,4,0,116,8,107,10,144, - 1,114,90,1,0,1,0,1,0,89,0,110,34,88,0,116, - 9,124,7,131,1,124,10,107,3,144,1,114,124,116,4,100, - 13,160,1,124,2,161,1,102,1,124,4,142,1,130,1,124, - 0,100,7,100,1,133,2,25,0,83,0,41,16,97,122,1, - 0,0,86,97,108,105,100,97,116,101,32,116,104,101,32,104, - 101,97,100,101,114,32,111,102,32,116,104,101,32,112,97,115, - 115,101,100,45,105,110,32,98,121,116,101,99,111,100,101,32, - 97,103,97,105,110,115,116,32,115,111,117,114,99,101,95,115, - 116,97,116,115,32,40,105,102,10,32,32,32,32,103,105,118, - 101,110,41,32,97,110,100,32,114,101,116,117,114,110,105,110, - 103,32,116,104,101,32,98,121,116,101,99,111,100,101,32,116, - 104,97,116,32,99,97,110,32,98,101,32,99,111,109,112,105, - 108,101,100,32,98,121,32,99,111,109,112,105,108,101,40,41, - 46,10,10,32,32,32,32,65,108,108,32,111,116,104,101,114, - 32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,117, - 115,101,100,32,116,111,32,101,110,104,97,110,99,101,32,101, - 114,114,111,114,32,114,101,112,111,114,116,105,110,103,46,10, - 10,32,32,32,32,73,109,112,111,114,116,69,114,114,111,114, - 32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32, - 116,104,101,32,109,97,103,105,99,32,110,117,109,98,101,114, - 32,105,115,32,105,110,99,111,114,114,101,99,116,32,111,114, - 32,116,104,101,32,98,121,116,101,99,111,100,101,32,105,115, - 10,32,32,32,32,102,111,117,110,100,32,116,111,32,98,101, - 32,115,116,97,108,101,46,32,69,79,70,69,114,114,111,114, - 32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32, - 116,104,101,32,100,97,116,97,32,105,115,32,102,111,117,110, - 100,32,116,111,32,98,101,10,32,32,32,32,116,114,117,110, - 99,97,116,101,100,46,10,10,32,32,32,32,78,114,102,0, - 0,0,122,10,60,98,121,116,101,99,111,100,101,62,114,37, - 0,0,0,114,14,0,0,0,233,8,0,0,0,233,12,0, - 0,0,122,30,98,97,100,32,109,97,103,105,99,32,110,117, - 109,98,101,114,32,105,110,32,123,33,114,125,58,32,123,33, - 114,125,122,2,123,125,122,43,114,101,97,99,104,101,100,32, - 69,79,70,32,119,104,105,108,101,32,114,101,97,100,105,110, - 103,32,116,105,109,101,115,116,97,109,112,32,105,110,32,123, - 33,114,125,122,48,114,101,97,99,104,101,100,32,69,79,70, - 32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,115, - 105,122,101,32,111,102,32,115,111,117,114,99,101,32,105,110, - 32,123,33,114,125,218,5,109,116,105,109,101,122,26,98,121, - 116,101,99,111,100,101,32,105,115,32,115,116,97,108,101,32, - 102,111,114,32,123,33,114,125,218,4,115,105,122,101,108,3, - 0,0,0,255,127,255,127,3,0,41,10,218,12,77,65,71, - 73,67,95,78,85,77,66,69,82,114,50,0,0,0,114,118, - 0,0,0,218,16,95,118,101,114,98,111,115,101,95,109,101, - 115,115,97,103,101,114,103,0,0,0,114,33,0,0,0,218, - 8,69,79,70,69,114,114,111,114,114,16,0,0,0,218,8, - 75,101,121,69,114,114,111,114,114,21,0,0,0,41,11,114, - 56,0,0,0,218,12,115,111,117,114,99,101,95,115,116,97, - 116,115,114,102,0,0,0,114,37,0,0,0,90,11,101,120, - 99,95,100,101,116,97,105,108,115,90,5,109,97,103,105,99, - 90,13,114,97,119,95,116,105,109,101,115,116,97,109,112,90, - 8,114,97,119,95,115,105,122,101,114,79,0,0,0,218,12, - 115,111,117,114,99,101,95,109,116,105,109,101,218,11,115,111, - 117,114,99,101,95,115,105,122,101,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,218,25,95,118,97,108,105,100, - 97,116,101,95,98,121,116,101,99,111,100,101,95,104,101,97, - 100,101,114,176,1,0,0,115,76,0,0,0,0,11,4,1, - 8,1,10,3,4,1,8,1,8,1,12,1,12,1,12,1, - 8,1,12,1,12,1,14,1,12,1,10,1,12,1,10,1, - 12,1,10,1,12,1,8,1,10,1,2,1,16,1,16,1, - 6,2,14,1,10,1,12,1,12,1,2,1,16,1,16,1, - 6,2,14,1,12,1,6,1,114,139,0,0,0,99,4,0, - 0,0,0,0,0,0,5,0,0,0,5,0,0,0,67,0, - 0,0,115,80,0,0,0,116,0,160,1,124,0,161,1,125, - 4,116,2,124,4,116,3,131,2,114,56,116,4,160,5,100, - 1,124,2,161,2,1,0,124,3,100,2,107,9,114,52,116, - 6,160,7,124,4,124,3,161,2,1,0,124,4,83,0,116, - 8,100,3,160,9,124,2,161,1,124,1,124,2,100,4,141, - 3,130,1,100,2,83,0,41,5,122,60,67,111,109,112,105, - 108,101,32,98,121,116,101,99,111,100,101,32,97,115,32,114, - 101,116,117,114,110,101,100,32,98,121,32,95,118,97,108,105, - 100,97,116,101,95,98,121,116,101,99,111,100,101,95,104,101, - 97,100,101,114,40,41,46,122,21,99,111,100,101,32,111,98, - 106,101,99,116,32,102,114,111,109,32,123,33,114,125,78,122, - 23,78,111,110,45,99,111,100,101,32,111,98,106,101,99,116, - 32,105,110,32,123,33,114,125,41,2,114,102,0,0,0,114, - 37,0,0,0,41,10,218,7,109,97,114,115,104,97,108,90, - 5,108,111,97,100,115,218,10,105,115,105,110,115,116,97,110, - 99,101,218,10,95,99,111,100,101,95,116,121,112,101,114,118, - 0,0,0,114,133,0,0,0,218,4,95,105,109,112,90,16, - 95,102,105,120,95,99,111,95,102,105,108,101,110,97,109,101, - 114,103,0,0,0,114,50,0,0,0,41,5,114,56,0,0, - 0,114,102,0,0,0,114,93,0,0,0,114,94,0,0,0, - 218,4,99,111,100,101,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,218,17,95,99,111,109,112,105,108,101,95, - 98,121,116,101,99,111,100,101,231,1,0,0,115,16,0,0, - 0,0,2,10,1,10,1,12,1,8,1,12,1,4,2,10, - 1,114,145,0,0,0,114,62,0,0,0,99,3,0,0,0, - 0,0,0,0,4,0,0,0,5,0,0,0,67,0,0,0, - 115,56,0,0,0,116,0,116,1,131,1,125,3,124,3,160, - 2,116,3,124,1,131,1,161,1,1,0,124,3,160,2,116, - 3,124,2,131,1,161,1,1,0,124,3,160,2,116,4,160, - 5,124,0,161,1,161,1,1,0,124,3,83,0,41,1,122, - 80,67,111,109,112,105,108,101,32,97,32,99,111,100,101,32, - 111,98,106,101,99,116,32,105,110,116,111,32,98,121,116,101, - 99,111,100,101,32,102,111,114,32,119,114,105,116,105,110,103, - 32,111,117,116,32,116,111,32,97,32,98,121,116,101,45,99, - 111,109,112,105,108,101,100,10,32,32,32,32,102,105,108,101, - 46,41,6,218,9,98,121,116,101,97,114,114,97,121,114,132, - 0,0,0,218,6,101,120,116,101,110,100,114,19,0,0,0, - 114,140,0,0,0,90,5,100,117,109,112,115,41,4,114,144, - 0,0,0,114,130,0,0,0,114,138,0,0,0,114,56,0, + 115,111,117,114,99,101,95,102,114,111,109,95,99,97,99,104, + 101,55,1,0,0,115,46,0,0,0,0,9,12,1,8,1, + 10,1,12,1,12,1,8,1,6,1,10,1,10,1,8,1, + 6,1,10,1,8,1,16,1,10,1,6,1,8,1,16,1, + 8,1,6,1,8,1,14,1,114,89,0,0,0,99,1,0, + 0,0,0,0,0,0,5,0,0,0,12,0,0,0,67,0, + 0,0,115,126,0,0,0,116,0,124,0,131,1,100,1,107, + 2,114,16,100,2,83,0,124,0,160,1,100,3,161,1,92, + 3,125,1,125,2,125,3,124,1,114,56,124,3,160,2,161, + 0,100,7,100,8,133,2,25,0,100,6,107,3,114,60,124, + 0,83,0,121,12,116,3,124,0,131,1,125,4,87,0,110, + 36,4,0,116,4,116,5,102,2,107,10,114,108,1,0,1, + 0,1,0,124,0,100,2,100,9,133,2,25,0,125,4,89, + 0,110,2,88,0,116,6,124,4,131,1,114,122,124,4,83, + 0,124,0,83,0,41,10,122,188,67,111,110,118,101,114,116, + 32,97,32,98,121,116,101,99,111,100,101,32,102,105,108,101, + 32,112,97,116,104,32,116,111,32,97,32,115,111,117,114,99, + 101,32,112,97,116,104,32,40,105,102,32,112,111,115,115,105, + 98,108,101,41,46,10,10,32,32,32,32,84,104,105,115,32, + 102,117,110,99,116,105,111,110,32,101,120,105,115,116,115,32, + 112,117,114,101,108,121,32,102,111,114,32,98,97,99,107,119, + 97,114,100,115,45,99,111,109,112,97,116,105,98,105,108,105, + 116,121,32,102,111,114,10,32,32,32,32,80,121,73,109,112, + 111,114,116,95,69,120,101,99,67,111,100,101,77,111,100,117, + 108,101,87,105,116,104,70,105,108,101,110,97,109,101,115,40, + 41,32,105,110,32,116,104,101,32,67,32,65,80,73,46,10, + 10,32,32,32,32,114,62,0,0,0,78,114,61,0,0,0, + 114,84,0,0,0,114,31,0,0,0,90,2,112,121,233,253, + 255,255,255,233,255,255,255,255,114,91,0,0,0,41,7,114, + 33,0,0,0,114,34,0,0,0,218,5,108,111,119,101,114, + 114,89,0,0,0,114,70,0,0,0,114,75,0,0,0,114, + 46,0,0,0,41,5,218,13,98,121,116,101,99,111,100,101, + 95,112,97,116,104,114,82,0,0,0,114,38,0,0,0,90, + 9,101,120,116,101,110,115,105,111,110,218,11,115,111,117,114, + 99,101,95,112,97,116,104,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,15,95,103,101,116,95,115,111,117, + 114,99,101,102,105,108,101,89,1,0,0,115,20,0,0,0, + 0,7,12,1,4,1,16,1,24,1,4,1,2,1,12,1, + 18,1,18,1,114,95,0,0,0,99,1,0,0,0,0,0, + 0,0,1,0,0,0,11,0,0,0,67,0,0,0,115,72, + 0,0,0,124,0,160,0,116,1,116,2,131,1,161,1,114, + 46,121,8,116,3,124,0,131,1,83,0,4,0,116,4,107, + 10,114,42,1,0,1,0,1,0,89,0,113,68,88,0,110, + 22,124,0,160,0,116,1,116,5,131,1,161,1,114,64,124, + 0,83,0,100,0,83,0,100,0,83,0,41,1,78,41,6, + 218,8,101,110,100,115,119,105,116,104,218,5,116,117,112,108, + 101,114,88,0,0,0,114,83,0,0,0,114,70,0,0,0, + 114,78,0,0,0,41,1,218,8,102,105,108,101,110,97,109, + 101,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 218,11,95,103,101,116,95,99,97,99,104,101,100,108,1,0, + 0,115,16,0,0,0,0,1,14,1,2,1,8,1,14,1, + 8,1,14,1,4,2,114,99,0,0,0,99,1,0,0,0, + 0,0,0,0,2,0,0,0,11,0,0,0,67,0,0,0, + 115,52,0,0,0,121,14,116,0,124,0,131,1,106,1,125, + 1,87,0,110,24,4,0,116,2,107,10,114,38,1,0,1, + 0,1,0,100,1,125,1,89,0,110,2,88,0,124,1,100, + 2,79,0,125,1,124,1,83,0,41,3,122,51,67,97,108, + 99,117,108,97,116,101,32,116,104,101,32,109,111,100,101,32, + 112,101,114,109,105,115,115,105,111,110,115,32,102,111,114,32, + 97,32,98,121,116,101,99,111,100,101,32,102,105,108,101,46, + 105,182,1,0,0,233,128,0,0,0,41,3,114,41,0,0, + 0,114,43,0,0,0,114,42,0,0,0,41,2,114,37,0, + 0,0,114,44,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,10,95,99,97,108,99,95,109,111, + 100,101,120,1,0,0,115,12,0,0,0,0,2,2,1,14, + 1,14,1,10,3,8,1,114,101,0,0,0,99,1,0,0, + 0,0,0,0,0,3,0,0,0,11,0,0,0,3,0,0, + 0,115,68,0,0,0,100,6,135,0,102,1,100,2,100,3, + 132,9,125,1,121,10,116,0,106,1,125,2,87,0,110,28, + 4,0,116,2,107,10,114,52,1,0,1,0,1,0,100,4, + 100,5,132,0,125,2,89,0,110,2,88,0,124,2,124,1, + 136,0,131,2,1,0,124,1,83,0,41,7,122,252,68,101, + 99,111,114,97,116,111,114,32,116,111,32,118,101,114,105,102, + 121,32,116,104,97,116,32,116,104,101,32,109,111,100,117,108, + 101,32,98,101,105,110,103,32,114,101,113,117,101,115,116,101, + 100,32,109,97,116,99,104,101,115,32,116,104,101,32,111,110, + 101,32,116,104,101,10,32,32,32,32,108,111,97,100,101,114, + 32,99,97,110,32,104,97,110,100,108,101,46,10,10,32,32, + 32,32,84,104,101,32,102,105,114,115,116,32,97,114,103,117, + 109,101,110,116,32,40,115,101,108,102,41,32,109,117,115,116, + 32,100,101,102,105,110,101,32,95,110,97,109,101,32,119,104, + 105,99,104,32,116,104,101,32,115,101,99,111,110,100,32,97, + 114,103,117,109,101,110,116,32,105,115,10,32,32,32,32,99, + 111,109,112,97,114,101,100,32,97,103,97,105,110,115,116,46, + 32,73,102,32,116,104,101,32,99,111,109,112,97,114,105,115, + 111,110,32,102,97,105,108,115,32,116,104,101,110,32,73,109, + 112,111,114,116,69,114,114,111,114,32,105,115,32,114,97,105, + 115,101,100,46,10,10,32,32,32,32,78,99,2,0,0,0, + 0,0,0,0,4,0,0,0,4,0,0,0,31,0,0,0, + 115,66,0,0,0,124,1,100,0,107,8,114,16,124,0,106, + 0,125,1,110,32,124,0,106,0,124,1,107,3,114,48,116, + 1,100,1,124,0,106,0,124,1,102,2,22,0,124,1,100, + 2,141,2,130,1,136,0,124,0,124,1,102,2,124,2,158, + 2,124,3,142,1,83,0,41,3,78,122,30,108,111,97,100, + 101,114,32,102,111,114,32,37,115,32,99,97,110,110,111,116, + 32,104,97,110,100,108,101,32,37,115,41,1,218,4,110,97, + 109,101,41,2,114,102,0,0,0,218,11,73,109,112,111,114, + 116,69,114,114,111,114,41,4,218,4,115,101,108,102,114,102, + 0,0,0,218,4,97,114,103,115,90,6,107,119,97,114,103, + 115,41,1,218,6,109,101,116,104,111,100,114,4,0,0,0, + 114,6,0,0,0,218,19,95,99,104,101,99,107,95,110,97, + 109,101,95,119,114,97,112,112,101,114,140,1,0,0,115,12, + 0,0,0,0,1,8,1,8,1,10,1,4,1,18,1,122, + 40,95,99,104,101,99,107,95,110,97,109,101,46,60,108,111, + 99,97,108,115,62,46,95,99,104,101,99,107,95,110,97,109, + 101,95,119,114,97,112,112,101,114,99,2,0,0,0,0,0, + 0,0,3,0,0,0,7,0,0,0,83,0,0,0,115,60, + 0,0,0,120,40,100,5,68,0,93,32,125,2,116,0,124, + 1,124,2,131,2,114,6,116,1,124,0,124,2,116,2,124, + 1,124,2,131,2,131,3,1,0,113,6,87,0,124,0,106, + 3,160,4,124,1,106,3,161,1,1,0,100,0,83,0,41, + 6,78,218,10,95,95,109,111,100,117,108,101,95,95,218,8, + 95,95,110,97,109,101,95,95,218,12,95,95,113,117,97,108, + 110,97,109,101,95,95,218,7,95,95,100,111,99,95,95,41, + 4,114,108,0,0,0,114,109,0,0,0,114,110,0,0,0, + 114,111,0,0,0,41,5,218,7,104,97,115,97,116,116,114, + 218,7,115,101,116,97,116,116,114,218,7,103,101,116,97,116, + 116,114,218,8,95,95,100,105,99,116,95,95,218,6,117,112, + 100,97,116,101,41,3,90,3,110,101,119,90,3,111,108,100, + 114,55,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 6,0,0,0,218,5,95,119,114,97,112,151,1,0,0,115, + 8,0,0,0,0,1,10,1,10,1,22,1,122,26,95,99, + 104,101,99,107,95,110,97,109,101,46,60,108,111,99,97,108, + 115,62,46,95,119,114,97,112,41,1,78,41,3,218,10,95, + 98,111,111,116,115,116,114,97,112,114,117,0,0,0,218,9, + 78,97,109,101,69,114,114,111,114,41,3,114,106,0,0,0, + 114,107,0,0,0,114,117,0,0,0,114,4,0,0,0,41, + 1,114,106,0,0,0,114,6,0,0,0,218,11,95,99,104, + 101,99,107,95,110,97,109,101,132,1,0,0,115,14,0,0, + 0,0,8,14,7,2,1,10,1,14,2,14,5,10,1,114, + 120,0,0,0,99,2,0,0,0,0,0,0,0,5,0,0, + 0,6,0,0,0,67,0,0,0,115,60,0,0,0,124,0, + 160,0,124,1,161,1,92,2,125,2,125,3,124,2,100,1, + 107,8,114,56,116,1,124,3,131,1,114,56,100,2,125,4, + 116,2,160,3,124,4,160,4,124,3,100,3,25,0,161,1, + 116,5,161,2,1,0,124,2,83,0,41,4,122,155,84,114, + 121,32,116,111,32,102,105,110,100,32,97,32,108,111,97,100, + 101,114,32,102,111,114,32,116,104,101,32,115,112,101,99,105, + 102,105,101,100,32,109,111,100,117,108,101,32,98,121,32,100, + 101,108,101,103,97,116,105,110,103,32,116,111,10,32,32,32, + 32,115,101,108,102,46,102,105,110,100,95,108,111,97,100,101, + 114,40,41,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,32,105,110,32,102,97,118,111,114,32,111,102,32, + 102,105,110,100,101,114,46,102,105,110,100,95,115,112,101,99, + 40,41,46,10,10,32,32,32,32,78,122,44,78,111,116,32, + 105,109,112,111,114,116,105,110,103,32,100,105,114,101,99,116, + 111,114,121,32,123,125,58,32,109,105,115,115,105,110,103,32, + 95,95,105,110,105,116,95,95,114,62,0,0,0,41,6,218, + 11,102,105,110,100,95,108,111,97,100,101,114,114,33,0,0, + 0,114,63,0,0,0,114,64,0,0,0,114,50,0,0,0, + 218,13,73,109,112,111,114,116,87,97,114,110,105,110,103,41, + 5,114,104,0,0,0,218,8,102,117,108,108,110,97,109,101, + 218,6,108,111,97,100,101,114,218,8,112,111,114,116,105,111, + 110,115,218,3,109,115,103,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,17,95,102,105,110,100,95,109,111, + 100,117,108,101,95,115,104,105,109,160,1,0,0,115,10,0, + 0,0,0,10,14,1,16,1,4,1,22,1,114,127,0,0, + 0,99,3,0,0,0,0,0,0,0,6,0,0,0,4,0, + 0,0,67,0,0,0,115,158,0,0,0,124,0,100,1,100, + 2,133,2,25,0,125,3,124,3,116,0,107,3,114,60,100, + 3,124,1,155,2,100,4,124,3,155,2,157,4,125,4,116, + 1,160,2,100,5,124,4,161,2,1,0,116,3,124,4,102, + 1,124,2,142,1,130,1,116,4,124,0,131,1,100,6,107, + 0,114,102,100,7,124,1,155,2,157,2,125,4,116,1,160, + 2,100,5,124,4,161,2,1,0,116,5,124,4,131,1,130, + 1,116,6,124,0,100,2,100,8,133,2,25,0,131,1,125, + 5,124,5,100,12,64,0,114,154,100,10,124,5,155,2,100, + 11,124,1,155,2,157,4,125,4,116,3,124,4,102,1,124, + 2,142,1,130,1,124,5,83,0,41,13,97,84,2,0,0, + 80,101,114,102,111,114,109,32,98,97,115,105,99,32,118,97, + 108,105,100,105,116,121,32,99,104,101,99,107,105,110,103,32, + 111,102,32,97,32,112,121,99,32,104,101,97,100,101,114,32, + 97,110,100,32,114,101,116,117,114,110,32,116,104,101,32,102, + 108,97,103,115,32,102,105,101,108,100,44,10,32,32,32,32, + 119,104,105,99,104,32,100,101,116,101,114,109,105,110,101,115, + 32,104,111,119,32,116,104,101,32,112,121,99,32,115,104,111, + 117,108,100,32,98,101,32,102,117,114,116,104,101,114,32,118, + 97,108,105,100,97,116,101,100,32,97,103,97,105,110,115,116, + 32,116,104,101,32,115,111,117,114,99,101,46,10,10,32,32, + 32,32,42,100,97,116,97,42,32,105,115,32,116,104,101,32, + 99,111,110,116,101,110,116,115,32,111,102,32,116,104,101,32, + 112,121,99,32,102,105,108,101,46,32,40,79,110,108,121,32, + 116,104,101,32,102,105,114,115,116,32,49,54,32,98,121,116, + 101,115,32,97,114,101,10,32,32,32,32,114,101,113,117,105, + 114,101,100,44,32,116,104,111,117,103,104,46,41,10,10,32, + 32,32,32,42,110,97,109,101,42,32,105,115,32,116,104,101, + 32,110,97,109,101,32,111,102,32,116,104,101,32,109,111,100, + 117,108,101,32,98,101,105,110,103,32,105,109,112,111,114,116, + 101,100,46,32,73,116,32,105,115,32,117,115,101,100,32,102, + 111,114,32,108,111,103,103,105,110,103,46,10,10,32,32,32, + 32,42,101,120,99,95,100,101,116,97,105,108,115,42,32,105, + 115,32,97,32,100,105,99,116,105,111,110,97,114,121,32,112, + 97,115,115,101,100,32,116,111,32,73,109,112,111,114,116,69, + 114,114,111,114,32,105,102,32,105,116,32,114,97,105,115,101, + 100,32,102,111,114,10,32,32,32,32,105,109,112,114,111,118, + 101,100,32,100,101,98,117,103,103,105,110,103,46,10,10,32, + 32,32,32,73,109,112,111,114,116,69,114,114,111,114,32,105, + 115,32,114,97,105,115,101,100,32,119,104,101,110,32,116,104, + 101,32,109,97,103,105,99,32,110,117,109,98,101,114,32,105, + 115,32,105,110,99,111,114,114,101,99,116,32,111,114,32,119, + 104,101,110,32,116,104,101,32,102,108,97,103,115,10,32,32, + 32,32,102,105,101,108,100,32,105,115,32,105,110,118,97,108, + 105,100,46,32,69,79,70,69,114,114,111,114,32,105,115,32, + 114,97,105,115,101,100,32,119,104,101,110,32,116,104,101,32, + 100,97,116,97,32,105,115,32,102,111,117,110,100,32,116,111, + 32,98,101,32,116,114,117,110,99,97,116,101,100,46,10,10, + 32,32,32,32,78,114,14,0,0,0,122,20,98,97,100,32, + 109,97,103,105,99,32,110,117,109,98,101,114,32,105,110,32, + 122,2,58,32,122,2,123,125,233,16,0,0,0,122,40,114, + 101,97,99,104,101,100,32,69,79,70,32,119,104,105,108,101, + 32,114,101,97,100,105,110,103,32,112,121,99,32,104,101,97, + 100,101,114,32,111,102,32,233,8,0,0,0,114,84,0,0, + 0,122,14,105,110,118,97,108,105,100,32,102,108,97,103,115, + 32,122,4,32,105,110,32,233,252,255,255,255,41,7,218,12, + 77,65,71,73,67,95,78,85,77,66,69,82,114,118,0,0, + 0,218,16,95,118,101,114,98,111,115,101,95,109,101,115,115, + 97,103,101,114,103,0,0,0,114,33,0,0,0,218,8,69, + 79,70,69,114,114,111,114,114,21,0,0,0,41,6,114,56, + 0,0,0,114,102,0,0,0,218,11,101,120,99,95,100,101, + 116,97,105,108,115,90,5,109,97,103,105,99,114,79,0,0, + 0,114,71,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,13,95,99,108,97,115,115,105,102,121, + 95,112,121,99,177,1,0,0,115,28,0,0,0,0,16,12, + 1,8,1,16,1,12,1,12,1,12,1,10,1,12,1,8, + 1,16,2,8,1,16,1,12,1,114,135,0,0,0,99,5, + 0,0,0,0,0,0,0,6,0,0,0,4,0,0,0,67, + 0,0,0,115,112,0,0,0,116,0,124,0,100,1,100,2, + 133,2,25,0,131,1,124,1,100,3,64,0,107,3,114,58, + 100,4,124,3,155,2,157,2,125,5,116,1,160,2,100,5, + 124,5,161,2,1,0,116,3,124,5,102,1,124,4,142,1, + 130,1,124,2,100,6,107,9,114,108,116,0,124,0,100,2, + 100,7,133,2,25,0,131,1,124,2,100,3,64,0,107,3, + 114,108,116,3,100,4,124,3,155,2,157,2,102,1,124,4, + 142,1,130,1,100,6,83,0,41,8,97,7,2,0,0,86, + 97,108,105,100,97,116,101,32,97,32,112,121,99,32,97,103, + 97,105,110,115,116,32,116,104,101,32,115,111,117,114,99,101, + 32,108,97,115,116,45,109,111,100,105,102,105,101,100,32,116, + 105,109,101,46,10,10,32,32,32,32,42,100,97,116,97,42, + 32,105,115,32,116,104,101,32,99,111,110,116,101,110,116,115, + 32,111,102,32,116,104,101,32,112,121,99,32,102,105,108,101, + 46,32,40,79,110,108,121,32,116,104,101,32,102,105,114,115, + 116,32,49,54,32,98,121,116,101,115,32,97,114,101,10,32, + 32,32,32,114,101,113,117,105,114,101,100,46,41,10,10,32, + 32,32,32,42,115,111,117,114,99,101,95,109,116,105,109,101, + 42,32,105,115,32,116,104,101,32,108,97,115,116,32,109,111, + 100,105,102,105,101,100,32,116,105,109,101,115,116,97,109,112, + 32,111,102,32,116,104,101,32,115,111,117,114,99,101,32,102, + 105,108,101,46,10,10,32,32,32,32,42,115,111,117,114,99, + 101,95,115,105,122,101,42,32,105,115,32,78,111,110,101,32, + 111,114,32,116,104,101,32,115,105,122,101,32,111,102,32,116, + 104,101,32,115,111,117,114,99,101,32,102,105,108,101,32,105, + 110,32,98,121,116,101,115,46,10,10,32,32,32,32,42,110, + 97,109,101,42,32,105,115,32,116,104,101,32,110,97,109,101, + 32,111,102,32,116,104,101,32,109,111,100,117,108,101,32,98, + 101,105,110,103,32,105,109,112,111,114,116,101,100,46,32,73, + 116,32,105,115,32,117,115,101,100,32,102,111,114,32,108,111, + 103,103,105,110,103,46,10,10,32,32,32,32,42,101,120,99, + 95,100,101,116,97,105,108,115,42,32,105,115,32,97,32,100, + 105,99,116,105,111,110,97,114,121,32,112,97,115,115,101,100, + 32,116,111,32,73,109,112,111,114,116,69,114,114,111,114,32, + 105,102,32,105,116,32,114,97,105,115,101,100,32,102,111,114, + 10,32,32,32,32,105,109,112,114,111,118,101,100,32,100,101, + 98,117,103,103,105,110,103,46,10,10,32,32,32,32,65,110, + 32,73,109,112,111,114,116,69,114,114,111,114,32,105,115,32, + 114,97,105,115,101,100,32,105,102,32,116,104,101,32,98,121, + 116,101,99,111,100,101,32,105,115,32,115,116,97,108,101,46, + 10,10,32,32,32,32,114,129,0,0,0,233,12,0,0,0, + 108,3,0,0,0,255,127,255,127,3,0,122,22,98,121,116, + 101,99,111,100,101,32,105,115,32,115,116,97,108,101,32,102, + 111,114,32,122,2,123,125,78,114,128,0,0,0,41,4,114, + 21,0,0,0,114,118,0,0,0,114,132,0,0,0,114,103, + 0,0,0,41,6,114,56,0,0,0,218,12,115,111,117,114, + 99,101,95,109,116,105,109,101,218,11,115,111,117,114,99,101, + 95,115,105,122,101,114,102,0,0,0,114,134,0,0,0,114, + 79,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,23,95,118,97,108,105,100,97,116,101,95,116, + 105,109,101,115,116,97,109,112,95,112,121,99,210,1,0,0, + 115,14,0,0,0,0,19,24,1,10,1,12,1,12,1,8, + 1,24,1,114,139,0,0,0,99,4,0,0,0,0,0,0, + 0,4,0,0,0,3,0,0,0,67,0,0,0,115,38,0, + 0,0,124,0,100,1,100,2,133,2,25,0,124,1,107,3, + 114,34,116,0,100,3,124,2,155,2,157,2,102,1,124,3, + 142,1,130,1,100,4,83,0,41,5,97,243,1,0,0,86, + 97,108,105,100,97,116,101,32,97,32,104,97,115,104,45,98, + 97,115,101,100,32,112,121,99,32,98,121,32,99,104,101,99, + 107,105,110,103,32,116,104,101,32,114,101,97,108,32,115,111, + 117,114,99,101,32,104,97,115,104,32,97,103,97,105,110,115, + 116,32,116,104,101,32,111,110,101,32,105,110,10,32,32,32, + 32,116,104,101,32,112,121,99,32,104,101,97,100,101,114,46, + 10,10,32,32,32,32,42,100,97,116,97,42,32,105,115,32, + 116,104,101,32,99,111,110,116,101,110,116,115,32,111,102,32, + 116,104,101,32,112,121,99,32,102,105,108,101,46,32,40,79, + 110,108,121,32,116,104,101,32,102,105,114,115,116,32,49,54, + 32,98,121,116,101,115,32,97,114,101,10,32,32,32,32,114, + 101,113,117,105,114,101,100,46,41,10,10,32,32,32,32,42, + 115,111,117,114,99,101,95,104,97,115,104,42,32,105,115,32, + 116,104,101,32,105,109,112,111,114,116,108,105,98,46,117,116, + 105,108,46,115,111,117,114,99,101,95,104,97,115,104,40,41, + 32,111,102,32,116,104,101,32,115,111,117,114,99,101,32,102, + 105,108,101,46,10,10,32,32,32,32,42,110,97,109,101,42, + 32,105,115,32,116,104,101,32,110,97,109,101,32,111,102,32, + 116,104,101,32,109,111,100,117,108,101,32,98,101,105,110,103, + 32,105,109,112,111,114,116,101,100,46,32,73,116,32,105,115, + 32,117,115,101,100,32,102,111,114,32,108,111,103,103,105,110, + 103,46,10,10,32,32,32,32,42,101,120,99,95,100,101,116, + 97,105,108,115,42,32,105,115,32,97,32,100,105,99,116,105, + 111,110,97,114,121,32,112,97,115,115,101,100,32,116,111,32, + 73,109,112,111,114,116,69,114,114,111,114,32,105,102,32,105, + 116,32,114,97,105,115,101,100,32,102,111,114,10,32,32,32, + 32,105,109,112,114,111,118,101,100,32,100,101,98,117,103,103, + 105,110,103,46,10,10,32,32,32,32,65,110,32,73,109,112, + 111,114,116,69,114,114,111,114,32,105,115,32,114,97,105,115, + 101,100,32,105,102,32,116,104,101,32,98,121,116,101,99,111, + 100,101,32,105,115,32,115,116,97,108,101,46,10,10,32,32, + 32,32,114,129,0,0,0,114,128,0,0,0,122,46,104,97, + 115,104,32,105,110,32,98,121,116,101,99,111,100,101,32,100, + 111,101,115,110,39,116,32,109,97,116,99,104,32,104,97,115, + 104,32,111,102,32,115,111,117,114,99,101,32,78,41,1,114, + 103,0,0,0,41,4,114,56,0,0,0,218,11,115,111,117, + 114,99,101,95,104,97,115,104,114,102,0,0,0,114,134,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,218,17,95,99,111,100,101,95,116,111,95,98,121,116,101, - 99,111,100,101,243,1,0,0,115,10,0,0,0,0,3,8, - 1,14,1,14,1,16,1,114,148,0,0,0,99,1,0,0, - 0,0,0,0,0,5,0,0,0,6,0,0,0,67,0,0, - 0,115,62,0,0,0,100,1,100,2,108,0,125,1,116,1, - 160,2,124,0,161,1,106,3,125,2,124,1,160,4,124,2, - 161,1,125,3,116,1,160,5,100,2,100,3,161,2,125,4, - 124,4,160,6,124,0,160,6,124,3,100,1,25,0,161,1, - 161,1,83,0,41,4,122,121,68,101,99,111,100,101,32,98, - 121,116,101,115,32,114,101,112,114,101,115,101,110,116,105,110, - 103,32,115,111,117,114,99,101,32,99,111,100,101,32,97,110, - 100,32,114,101,116,117,114,110,32,116,104,101,32,115,116,114, - 105,110,103,46,10,10,32,32,32,32,85,110,105,118,101,114, - 115,97,108,32,110,101,119,108,105,110,101,32,115,117,112,112, - 111,114,116,32,105,115,32,117,115,101,100,32,105,110,32,116, - 104,101,32,100,101,99,111,100,105,110,103,46,10,32,32,32, - 32,114,62,0,0,0,78,84,41,7,218,8,116,111,107,101, - 110,105,122,101,114,52,0,0,0,90,7,66,121,116,101,115, - 73,79,90,8,114,101,97,100,108,105,110,101,90,15,100,101, - 116,101,99,116,95,101,110,99,111,100,105,110,103,90,25,73, - 110,99,114,101,109,101,110,116,97,108,78,101,119,108,105,110, - 101,68,101,99,111,100,101,114,218,6,100,101,99,111,100,101, - 41,5,218,12,115,111,117,114,99,101,95,98,121,116,101,115, - 114,149,0,0,0,90,21,115,111,117,114,99,101,95,98,121, - 116,101,115,95,114,101,97,100,108,105,110,101,218,8,101,110, - 99,111,100,105,110,103,90,15,110,101,119,108,105,110,101,95, - 100,101,99,111,100,101,114,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,218,13,100,101,99,111,100,101,95,115, - 111,117,114,99,101,253,1,0,0,115,10,0,0,0,0,5, - 8,1,12,1,10,1,12,1,114,153,0,0,0,41,2,114, - 124,0,0,0,218,26,115,117,98,109,111,100,117,108,101,95, + 0,218,18,95,118,97,108,105,100,97,116,101,95,104,97,115, + 104,95,112,121,99,238,1,0,0,115,8,0,0,0,0,17, + 16,1,2,1,10,1,114,141,0,0,0,99,4,0,0,0, + 0,0,0,0,5,0,0,0,5,0,0,0,67,0,0,0, + 115,80,0,0,0,116,0,160,1,124,0,161,1,125,4,116, + 2,124,4,116,3,131,2,114,56,116,4,160,5,100,1,124, + 2,161,2,1,0,124,3,100,2,107,9,114,52,116,6,160, + 7,124,4,124,3,161,2,1,0,124,4,83,0,116,8,100, + 3,160,9,124,2,161,1,124,1,124,2,100,4,141,3,130, + 1,100,2,83,0,41,5,122,35,67,111,109,112,105,108,101, + 32,98,121,116,101,99,111,100,101,32,97,115,32,102,111,117, + 110,100,32,105,110,32,97,32,112,121,99,46,122,21,99,111, + 100,101,32,111,98,106,101,99,116,32,102,114,111,109,32,123, + 33,114,125,78,122,23,78,111,110,45,99,111,100,101,32,111, + 98,106,101,99,116,32,105,110,32,123,33,114,125,41,2,114, + 102,0,0,0,114,37,0,0,0,41,10,218,7,109,97,114, + 115,104,97,108,90,5,108,111,97,100,115,218,10,105,115,105, + 110,115,116,97,110,99,101,218,10,95,99,111,100,101,95,116, + 121,112,101,114,118,0,0,0,114,132,0,0,0,218,4,95, + 105,109,112,90,16,95,102,105,120,95,99,111,95,102,105,108, + 101,110,97,109,101,114,103,0,0,0,114,50,0,0,0,41, + 5,114,56,0,0,0,114,102,0,0,0,114,93,0,0,0, + 114,94,0,0,0,218,4,99,111,100,101,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,218,17,95,99,111,109, + 112,105,108,101,95,98,121,116,101,99,111,100,101,6,2,0, + 0,115,16,0,0,0,0,2,10,1,10,1,12,1,8,1, + 12,1,4,2,10,1,114,147,0,0,0,114,62,0,0,0, + 99,3,0,0,0,0,0,0,0,4,0,0,0,5,0,0, + 0,67,0,0,0,115,70,0,0,0,116,0,116,1,131,1, + 125,3,124,3,160,2,116,3,100,1,131,1,161,1,1,0, + 124,3,160,2,116,3,124,1,131,1,161,1,1,0,124,3, + 160,2,116,3,124,2,131,1,161,1,1,0,124,3,160,2, + 116,4,160,5,124,0,161,1,161,1,1,0,124,3,83,0, + 41,2,122,43,80,114,111,100,117,99,101,32,116,104,101,32, + 100,97,116,97,32,102,111,114,32,97,32,116,105,109,101,115, + 116,97,109,112,45,98,97,115,101,100,32,112,121,99,46,114, + 62,0,0,0,41,6,218,9,98,121,116,101,97,114,114,97, + 121,114,131,0,0,0,218,6,101,120,116,101,110,100,114,19, + 0,0,0,114,142,0,0,0,218,5,100,117,109,112,115,41, + 4,114,146,0,0,0,218,5,109,116,105,109,101,114,138,0, + 0,0,114,56,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,22,95,99,111,100,101,95,116,111, + 95,116,105,109,101,115,116,97,109,112,95,112,121,99,19,2, + 0,0,115,12,0,0,0,0,2,8,1,14,1,14,1,14, + 1,16,1,114,152,0,0,0,84,99,3,0,0,0,0,0, + 0,0,5,0,0,0,5,0,0,0,67,0,0,0,115,80, + 0,0,0,116,0,116,1,131,1,125,3,100,1,124,2,100, + 1,62,0,66,0,125,4,124,3,160,2,116,3,124,4,131, + 1,161,1,1,0,116,4,124,1,131,1,100,2,107,2,115, + 50,116,5,130,1,124,3,160,2,124,1,161,1,1,0,124, + 3,160,2,116,6,160,7,124,0,161,1,161,1,1,0,124, + 3,83,0,41,3,122,38,80,114,111,100,117,99,101,32,116, + 104,101,32,100,97,116,97,32,102,111,114,32,97,32,104,97, + 115,104,45,98,97,115,101,100,32,112,121,99,46,114,31,0, + 0,0,114,129,0,0,0,41,8,114,148,0,0,0,114,131, + 0,0,0,114,149,0,0,0,114,19,0,0,0,114,33,0, + 0,0,218,14,65,115,115,101,114,116,105,111,110,69,114,114, + 111,114,114,142,0,0,0,114,150,0,0,0,41,5,114,146, + 0,0,0,114,140,0,0,0,90,7,99,104,101,99,107,101, + 100,114,56,0,0,0,114,71,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,218,17,95,99,111,100, + 101,95,116,111,95,104,97,115,104,95,112,121,99,29,2,0, + 0,115,14,0,0,0,0,2,8,1,12,1,14,1,16,1, + 10,1,16,1,114,154,0,0,0,99,1,0,0,0,0,0, + 0,0,5,0,0,0,6,0,0,0,67,0,0,0,115,62, + 0,0,0,100,1,100,2,108,0,125,1,116,1,160,2,124, + 0,161,1,106,3,125,2,124,1,160,4,124,2,161,1,125, + 3,116,1,160,5,100,2,100,3,161,2,125,4,124,4,160, + 6,124,0,160,6,124,3,100,1,25,0,161,1,161,1,83, + 0,41,4,122,121,68,101,99,111,100,101,32,98,121,116,101, + 115,32,114,101,112,114,101,115,101,110,116,105,110,103,32,115, + 111,117,114,99,101,32,99,111,100,101,32,97,110,100,32,114, + 101,116,117,114,110,32,116,104,101,32,115,116,114,105,110,103, + 46,10,10,32,32,32,32,85,110,105,118,101,114,115,97,108, + 32,110,101,119,108,105,110,101,32,115,117,112,112,111,114,116, + 32,105,115,32,117,115,101,100,32,105,110,32,116,104,101,32, + 100,101,99,111,100,105,110,103,46,10,32,32,32,32,114,62, + 0,0,0,78,84,41,7,218,8,116,111,107,101,110,105,122, + 101,114,52,0,0,0,90,7,66,121,116,101,115,73,79,90, + 8,114,101,97,100,108,105,110,101,90,15,100,101,116,101,99, + 116,95,101,110,99,111,100,105,110,103,90,25,73,110,99,114, + 101,109,101,110,116,97,108,78,101,119,108,105,110,101,68,101, + 99,111,100,101,114,218,6,100,101,99,111,100,101,41,5,218, + 12,115,111,117,114,99,101,95,98,121,116,101,115,114,155,0, + 0,0,90,21,115,111,117,114,99,101,95,98,121,116,101,115, + 95,114,101,97,100,108,105,110,101,218,8,101,110,99,111,100, + 105,110,103,90,15,110,101,119,108,105,110,101,95,100,101,99, + 111,100,101,114,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,13,100,101,99,111,100,101,95,115,111,117,114, + 99,101,40,2,0,0,115,10,0,0,0,0,5,8,1,12, + 1,10,1,12,1,114,159,0,0,0,41,2,114,124,0,0, + 0,218,26,115,117,98,109,111,100,117,108,101,95,115,101,97, + 114,99,104,95,108,111,99,97,116,105,111,110,115,99,2,0, + 0,0,2,0,0,0,9,0,0,0,19,0,0,0,67,0, + 0,0,115,18,1,0,0,124,1,100,1,107,8,114,60,100, + 2,125,1,116,0,124,2,100,3,131,2,114,70,121,14,124, + 2,160,1,124,0,161,1,125,1,87,0,113,70,4,0,116, + 2,107,10,114,56,1,0,1,0,1,0,89,0,113,70,88, + 0,110,10,116,3,160,4,124,1,161,1,125,1,116,5,106, + 6,124,0,124,2,124,1,100,4,141,3,125,4,100,5,124, + 4,95,7,124,2,100,1,107,8,114,156,120,54,116,8,131, + 0,68,0,93,40,92,2,125,5,125,6,124,1,160,9,116, + 10,124,6,131,1,161,1,114,108,124,5,124,0,124,1,131, + 2,125,2,124,2,124,4,95,11,80,0,113,108,87,0,100, + 1,83,0,124,3,116,12,107,8,114,222,116,0,124,2,100, + 6,131,2,114,228,121,14,124,2,160,13,124,0,161,1,125, + 7,87,0,110,20,4,0,116,2,107,10,114,208,1,0,1, + 0,1,0,89,0,113,228,88,0,124,7,114,228,103,0,124, + 4,95,14,110,6,124,3,124,4,95,14,124,4,106,14,103, + 0,107,2,144,1,114,14,124,1,144,1,114,14,116,15,124, + 1,131,1,100,7,25,0,125,8,124,4,106,14,160,16,124, + 8,161,1,1,0,124,4,83,0,41,8,97,61,1,0,0, + 82,101,116,117,114,110,32,97,32,109,111,100,117,108,101,32, + 115,112,101,99,32,98,97,115,101,100,32,111,110,32,97,32, + 102,105,108,101,32,108,111,99,97,116,105,111,110,46,10,10, + 32,32,32,32,84,111,32,105,110,100,105,99,97,116,101,32, + 116,104,97,116,32,116,104,101,32,109,111,100,117,108,101,32, + 105,115,32,97,32,112,97,99,107,97,103,101,44,32,115,101, + 116,10,32,32,32,32,115,117,98,109,111,100,117,108,101,95, 115,101,97,114,99,104,95,108,111,99,97,116,105,111,110,115, - 99,2,0,0,0,2,0,0,0,9,0,0,0,19,0,0, - 0,67,0,0,0,115,18,1,0,0,124,1,100,1,107,8, - 114,60,100,2,125,1,116,0,124,2,100,3,131,2,114,70, - 121,14,124,2,160,1,124,0,161,1,125,1,87,0,113,70, - 4,0,116,2,107,10,114,56,1,0,1,0,1,0,89,0, - 113,70,88,0,110,10,116,3,160,4,124,1,161,1,125,1, - 116,5,106,6,124,0,124,2,124,1,100,4,141,3,125,4, - 100,5,124,4,95,7,124,2,100,1,107,8,114,156,120,54, - 116,8,131,0,68,0,93,40,92,2,125,5,125,6,124,1, - 160,9,116,10,124,6,131,1,161,1,114,108,124,5,124,0, - 124,1,131,2,125,2,124,2,124,4,95,11,80,0,113,108, - 87,0,100,1,83,0,124,3,116,12,107,8,114,222,116,0, - 124,2,100,6,131,2,114,228,121,14,124,2,160,13,124,0, - 161,1,125,7,87,0,110,20,4,0,116,2,107,10,114,208, - 1,0,1,0,1,0,89,0,113,228,88,0,124,7,114,228, - 103,0,124,4,95,14,110,6,124,3,124,4,95,14,124,4, - 106,14,103,0,107,2,144,1,114,14,124,1,144,1,114,14, - 116,15,124,1,131,1,100,7,25,0,125,8,124,4,106,14, - 160,16,124,8,161,1,1,0,124,4,83,0,41,8,97,61, - 1,0,0,82,101,116,117,114,110,32,97,32,109,111,100,117, - 108,101,32,115,112,101,99,32,98,97,115,101,100,32,111,110, - 32,97,32,102,105,108,101,32,108,111,99,97,116,105,111,110, - 46,10,10,32,32,32,32,84,111,32,105,110,100,105,99,97, - 116,101,32,116,104,97,116,32,116,104,101,32,109,111,100,117, - 108,101,32,105,115,32,97,32,112,97,99,107,97,103,101,44, - 32,115,101,116,10,32,32,32,32,115,117,98,109,111,100,117, - 108,101,95,115,101,97,114,99,104,95,108,111,99,97,116,105, - 111,110,115,32,116,111,32,97,32,108,105,115,116,32,111,102, - 32,100,105,114,101,99,116,111,114,121,32,112,97,116,104,115, - 46,32,32,65,110,10,32,32,32,32,101,109,112,116,121,32, - 108,105,115,116,32,105,115,32,115,117,102,102,105,99,105,101, - 110,116,44,32,116,104,111,117,103,104,32,105,116,115,32,110, - 111,116,32,111,116,104,101,114,119,105,115,101,32,117,115,101, - 102,117,108,32,116,111,32,116,104,101,10,32,32,32,32,105, - 109,112,111,114,116,32,115,121,115,116,101,109,46,10,10,32, - 32,32,32,84,104,101,32,108,111,97,100,101,114,32,109,117, - 115,116,32,116,97,107,101,32,97,32,115,112,101,99,32,97, - 115,32,105,116,115,32,111,110,108,121,32,95,95,105,110,105, - 116,95,95,40,41,32,97,114,103,46,10,10,32,32,32,32, - 78,122,9,60,117,110,107,110,111,119,110,62,218,12,103,101, - 116,95,102,105,108,101,110,97,109,101,41,1,218,6,111,114, - 105,103,105,110,84,218,10,105,115,95,112,97,99,107,97,103, - 101,114,62,0,0,0,41,17,114,112,0,0,0,114,155,0, - 0,0,114,103,0,0,0,114,3,0,0,0,114,67,0,0, - 0,114,118,0,0,0,218,10,77,111,100,117,108,101,83,112, - 101,99,90,13,95,115,101,116,95,102,105,108,101,97,116,116, - 114,218,27,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,114,96, - 0,0,0,114,97,0,0,0,114,124,0,0,0,218,9,95, - 80,79,80,85,76,65,84,69,114,157,0,0,0,114,154,0, - 0,0,114,40,0,0,0,218,6,97,112,112,101,110,100,41, - 9,114,102,0,0,0,90,8,108,111,99,97,116,105,111,110, - 114,124,0,0,0,114,154,0,0,0,218,4,115,112,101,99, - 218,12,108,111,97,100,101,114,95,99,108,97,115,115,218,8, - 115,117,102,102,105,120,101,115,114,157,0,0,0,90,7,100, - 105,114,110,97,109,101,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,218,23,115,112,101,99,95,102,114,111,109, - 95,102,105,108,101,95,108,111,99,97,116,105,111,110,14,2, - 0,0,115,62,0,0,0,0,12,8,4,4,1,10,2,2, - 1,14,1,14,1,8,2,10,8,16,1,6,3,8,1,16, - 1,14,1,10,1,6,1,6,2,4,3,8,2,10,1,2, - 1,14,1,14,1,6,2,4,1,8,2,6,1,12,1,6, - 1,12,1,12,2,114,165,0,0,0,99,0,0,0,0,0, - 0,0,0,0,0,0,0,4,0,0,0,64,0,0,0,115, - 80,0,0,0,101,0,90,1,100,0,90,2,100,1,90,3, - 100,2,90,4,100,3,90,5,100,4,90,6,101,7,100,5, - 100,6,132,0,131,1,90,8,101,7,100,7,100,8,132,0, - 131,1,90,9,101,7,100,14,100,10,100,11,132,1,131,1, - 90,10,101,7,100,15,100,12,100,13,132,1,131,1,90,11, - 100,9,83,0,41,16,218,21,87,105,110,100,111,119,115,82, - 101,103,105,115,116,114,121,70,105,110,100,101,114,122,62,77, - 101,116,97,32,112,97,116,104,32,102,105,110,100,101,114,32, - 102,111,114,32,109,111,100,117,108,101,115,32,100,101,99,108, - 97,114,101,100,32,105,110,32,116,104,101,32,87,105,110,100, - 111,119,115,32,114,101,103,105,115,116,114,121,46,122,59,83, - 111,102,116,119,97,114,101,92,80,121,116,104,111,110,92,80, - 121,116,104,111,110,67,111,114,101,92,123,115,121,115,95,118, - 101,114,115,105,111,110,125,92,77,111,100,117,108,101,115,92, - 123,102,117,108,108,110,97,109,101,125,122,65,83,111,102,116, + 32,116,111,32,97,32,108,105,115,116,32,111,102,32,100,105, + 114,101,99,116,111,114,121,32,112,97,116,104,115,46,32,32, + 65,110,10,32,32,32,32,101,109,112,116,121,32,108,105,115, + 116,32,105,115,32,115,117,102,102,105,99,105,101,110,116,44, + 32,116,104,111,117,103,104,32,105,116,115,32,110,111,116,32, + 111,116,104,101,114,119,105,115,101,32,117,115,101,102,117,108, + 32,116,111,32,116,104,101,10,32,32,32,32,105,109,112,111, + 114,116,32,115,121,115,116,101,109,46,10,10,32,32,32,32, + 84,104,101,32,108,111,97,100,101,114,32,109,117,115,116,32, + 116,97,107,101,32,97,32,115,112,101,99,32,97,115,32,105, + 116,115,32,111,110,108,121,32,95,95,105,110,105,116,95,95, + 40,41,32,97,114,103,46,10,10,32,32,32,32,78,122,9, + 60,117,110,107,110,111,119,110,62,218,12,103,101,116,95,102, + 105,108,101,110,97,109,101,41,1,218,6,111,114,105,103,105, + 110,84,218,10,105,115,95,112,97,99,107,97,103,101,114,62, + 0,0,0,41,17,114,112,0,0,0,114,161,0,0,0,114, + 103,0,0,0,114,3,0,0,0,114,67,0,0,0,114,118, + 0,0,0,218,10,77,111,100,117,108,101,83,112,101,99,90, + 13,95,115,101,116,95,102,105,108,101,97,116,116,114,218,27, + 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,114,96,0,0,0, + 114,97,0,0,0,114,124,0,0,0,218,9,95,80,79,80, + 85,76,65,84,69,114,163,0,0,0,114,160,0,0,0,114, + 40,0,0,0,218,6,97,112,112,101,110,100,41,9,114,102, + 0,0,0,90,8,108,111,99,97,116,105,111,110,114,124,0, + 0,0,114,160,0,0,0,218,4,115,112,101,99,218,12,108, + 111,97,100,101,114,95,99,108,97,115,115,218,8,115,117,102, + 102,105,120,101,115,114,163,0,0,0,90,7,100,105,114,110, + 97,109,101,114,4,0,0,0,114,4,0,0,0,114,6,0, + 0,0,218,23,115,112,101,99,95,102,114,111,109,95,102,105, + 108,101,95,108,111,99,97,116,105,111,110,57,2,0,0,115, + 62,0,0,0,0,12,8,4,4,1,10,2,2,1,14,1, + 14,1,8,2,10,8,16,1,6,3,8,1,16,1,14,1, + 10,1,6,1,6,2,4,3,8,2,10,1,2,1,14,1, + 14,1,6,2,4,1,8,2,6,1,12,1,6,1,12,1, + 12,2,114,171,0,0,0,99,0,0,0,0,0,0,0,0, + 0,0,0,0,4,0,0,0,64,0,0,0,115,80,0,0, + 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,90, + 4,100,3,90,5,100,4,90,6,101,7,100,5,100,6,132, + 0,131,1,90,8,101,7,100,7,100,8,132,0,131,1,90, + 9,101,7,100,14,100,10,100,11,132,1,131,1,90,10,101, + 7,100,15,100,12,100,13,132,1,131,1,90,11,100,9,83, + 0,41,16,218,21,87,105,110,100,111,119,115,82,101,103,105, + 115,116,114,121,70,105,110,100,101,114,122,62,77,101,116,97, + 32,112,97,116,104,32,102,105,110,100,101,114,32,102,111,114, + 32,109,111,100,117,108,101,115,32,100,101,99,108,97,114,101, + 100,32,105,110,32,116,104,101,32,87,105,110,100,111,119,115, + 32,114,101,103,105,115,116,114,121,46,122,59,83,111,102,116, 119,97,114,101,92,80,121,116,104,111,110,92,80,121,116,104, 111,110,67,111,114,101,92,123,115,121,115,95,118,101,114,115, 105,111,110,125,92,77,111,100,117,108,101,115,92,123,102,117, - 108,108,110,97,109,101,125,92,68,101,98,117,103,70,99,2, - 0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,67, - 0,0,0,115,50,0,0,0,121,14,116,0,160,1,116,0, - 106,2,124,1,161,2,83,0,4,0,116,3,107,10,114,44, - 1,0,1,0,1,0,116,0,160,1,116,0,106,4,124,1, - 161,2,83,0,88,0,100,0,83,0,41,1,78,41,5,218, - 7,95,119,105,110,114,101,103,90,7,79,112,101,110,75,101, - 121,90,17,72,75,69,89,95,67,85,82,82,69,78,84,95, - 85,83,69,82,114,42,0,0,0,90,18,72,75,69,89,95, - 76,79,67,65,76,95,77,65,67,72,73,78,69,41,2,218, - 3,99,108,115,114,5,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,218,14,95,111,112,101,110,95, - 114,101,103,105,115,116,114,121,94,2,0,0,115,8,0,0, - 0,0,2,2,1,14,1,14,1,122,36,87,105,110,100,111, - 119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,114, - 46,95,111,112,101,110,95,114,101,103,105,115,116,114,121,99, - 2,0,0,0,0,0,0,0,6,0,0,0,17,0,0,0, - 67,0,0,0,115,112,0,0,0,124,0,106,0,114,14,124, - 0,106,1,125,2,110,6,124,0,106,2,125,2,124,2,106, - 3,124,1,100,1,116,4,106,5,100,0,100,2,133,2,25, - 0,22,0,100,3,141,2,125,3,121,38,124,0,160,6,124, - 3,161,1,143,18,125,4,116,7,160,8,124,4,100,4,161, - 2,125,5,87,0,100,0,81,0,82,0,88,0,87,0,110, - 20,4,0,116,9,107,10,114,106,1,0,1,0,1,0,100, - 0,83,0,88,0,124,5,83,0,41,5,78,122,5,37,100, - 46,37,100,114,59,0,0,0,41,2,114,123,0,0,0,90, - 11,115,121,115,95,118,101,114,115,105,111,110,114,32,0,0, - 0,41,10,218,11,68,69,66,85,71,95,66,85,73,76,68, - 218,18,82,69,71,73,83,84,82,89,95,75,69,89,95,68, - 69,66,85,71,218,12,82,69,71,73,83,84,82,89,95,75, - 69,89,114,50,0,0,0,114,8,0,0,0,218,12,118,101, - 114,115,105,111,110,95,105,110,102,111,114,169,0,0,0,114, - 167,0,0,0,90,10,81,117,101,114,121,86,97,108,117,101, - 114,42,0,0,0,41,6,114,168,0,0,0,114,123,0,0, - 0,90,12,114,101,103,105,115,116,114,121,95,107,101,121,114, - 5,0,0,0,90,4,104,107,101,121,218,8,102,105,108,101, - 112,97,116,104,114,4,0,0,0,114,4,0,0,0,114,6, - 0,0,0,218,16,95,115,101,97,114,99,104,95,114,101,103, - 105,115,116,114,121,101,2,0,0,115,22,0,0,0,0,2, - 6,1,8,2,6,1,6,1,22,1,2,1,12,1,26,1, - 14,1,6,1,122,38,87,105,110,100,111,119,115,82,101,103, - 105,115,116,114,121,70,105,110,100,101,114,46,95,115,101,97, - 114,99,104,95,114,101,103,105,115,116,114,121,78,99,4,0, - 0,0,0,0,0,0,8,0,0,0,14,0,0,0,67,0, - 0,0,115,120,0,0,0,124,0,160,0,124,1,161,1,125, - 4,124,4,100,0,107,8,114,22,100,0,83,0,121,12,116, - 1,124,4,131,1,1,0,87,0,110,20,4,0,116,2,107, - 10,114,54,1,0,1,0,1,0,100,0,83,0,88,0,120, - 58,116,3,131,0,68,0,93,48,92,2,125,5,125,6,124, - 4,160,4,116,5,124,6,131,1,161,1,114,64,116,6,106, - 7,124,1,124,5,124,1,124,4,131,2,124,4,100,1,141, - 3,125,7,124,7,83,0,113,64,87,0,100,0,83,0,41, - 2,78,41,1,114,156,0,0,0,41,8,114,175,0,0,0, - 114,41,0,0,0,114,42,0,0,0,114,159,0,0,0,114, - 96,0,0,0,114,97,0,0,0,114,118,0,0,0,218,16, - 115,112,101,99,95,102,114,111,109,95,108,111,97,100,101,114, - 41,8,114,168,0,0,0,114,123,0,0,0,114,37,0,0, - 0,218,6,116,97,114,103,101,116,114,174,0,0,0,114,124, - 0,0,0,114,164,0,0,0,114,162,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,218,9,102,105, - 110,100,95,115,112,101,99,116,2,0,0,115,26,0,0,0, - 0,2,10,1,8,1,4,1,2,1,12,1,14,1,6,1, - 16,1,14,1,6,1,8,1,8,1,122,31,87,105,110,100, - 111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101, - 114,46,102,105,110,100,95,115,112,101,99,99,3,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,160,0,124,1,124,2,161,2,125, - 3,124,3,100,1,107,9,114,26,124,3,106,1,83,0,100, - 1,83,0,100,1,83,0,41,2,122,108,70,105,110,100,32, - 109,111,100,117,108,101,32,110,97,109,101,100,32,105,110,32, - 116,104,101,32,114,101,103,105,115,116,114,121,46,10,10,32, - 32,32,32,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,101,120,101,99,95,109,111,100,117, - 108,101,40,41,32,105,110,115,116,101,97,100,46,10,10,32, - 32,32,32,32,32,32,32,78,41,2,114,178,0,0,0,114, - 124,0,0,0,41,4,114,168,0,0,0,114,123,0,0,0, - 114,37,0,0,0,114,162,0,0,0,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,218,11,102,105,110,100,95, - 109,111,100,117,108,101,132,2,0,0,115,8,0,0,0,0, - 7,12,1,8,1,6,2,122,33,87,105,110,100,111,119,115, + 108,108,110,97,109,101,125,122,65,83,111,102,116,119,97,114, + 101,92,80,121,116,104,111,110,92,80,121,116,104,111,110,67, + 111,114,101,92,123,115,121,115,95,118,101,114,115,105,111,110, + 125,92,77,111,100,117,108,101,115,92,123,102,117,108,108,110, + 97,109,101,125,92,68,101,98,117,103,70,99,2,0,0,0, + 0,0,0,0,2,0,0,0,11,0,0,0,67,0,0,0, + 115,50,0,0,0,121,14,116,0,160,1,116,0,106,2,124, + 1,161,2,83,0,4,0,116,3,107,10,114,44,1,0,1, + 0,1,0,116,0,160,1,116,0,106,4,124,1,161,2,83, + 0,88,0,100,0,83,0,41,1,78,41,5,218,7,95,119, + 105,110,114,101,103,90,7,79,112,101,110,75,101,121,90,17, + 72,75,69,89,95,67,85,82,82,69,78,84,95,85,83,69, + 82,114,42,0,0,0,90,18,72,75,69,89,95,76,79,67, + 65,76,95,77,65,67,72,73,78,69,41,2,218,3,99,108, + 115,114,5,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,14,95,111,112,101,110,95,114,101,103, + 105,115,116,114,121,137,2,0,0,115,8,0,0,0,0,2, + 2,1,14,1,14,1,122,36,87,105,110,100,111,119,115,82, + 101,103,105,115,116,114,121,70,105,110,100,101,114,46,95,111, + 112,101,110,95,114,101,103,105,115,116,114,121,99,2,0,0, + 0,0,0,0,0,6,0,0,0,17,0,0,0,67,0,0, + 0,115,112,0,0,0,124,0,106,0,114,14,124,0,106,1, + 125,2,110,6,124,0,106,2,125,2,124,2,106,3,124,1, + 100,1,116,4,106,5,100,0,100,2,133,2,25,0,22,0, + 100,3,141,2,125,3,121,38,124,0,160,6,124,3,161,1, + 143,18,125,4,116,7,160,8,124,4,100,4,161,2,125,5, + 87,0,100,0,81,0,82,0,88,0,87,0,110,20,4,0, + 116,9,107,10,114,106,1,0,1,0,1,0,100,0,83,0, + 88,0,124,5,83,0,41,5,78,122,5,37,100,46,37,100, + 114,59,0,0,0,41,2,114,123,0,0,0,90,11,115,121, + 115,95,118,101,114,115,105,111,110,114,32,0,0,0,41,10, + 218,11,68,69,66,85,71,95,66,85,73,76,68,218,18,82, + 69,71,73,83,84,82,89,95,75,69,89,95,68,69,66,85, + 71,218,12,82,69,71,73,83,84,82,89,95,75,69,89,114, + 50,0,0,0,114,8,0,0,0,218,12,118,101,114,115,105, + 111,110,95,105,110,102,111,114,175,0,0,0,114,173,0,0, + 0,90,10,81,117,101,114,121,86,97,108,117,101,114,42,0, + 0,0,41,6,114,174,0,0,0,114,123,0,0,0,90,12, + 114,101,103,105,115,116,114,121,95,107,101,121,114,5,0,0, + 0,90,4,104,107,101,121,218,8,102,105,108,101,112,97,116, + 104,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 218,16,95,115,101,97,114,99,104,95,114,101,103,105,115,116, + 114,121,144,2,0,0,115,22,0,0,0,0,2,6,1,8, + 2,6,1,6,1,22,1,2,1,12,1,26,1,14,1,6, + 1,122,38,87,105,110,100,111,119,115,82,101,103,105,115,116, + 114,121,70,105,110,100,101,114,46,95,115,101,97,114,99,104, + 95,114,101,103,105,115,116,114,121,78,99,4,0,0,0,0, + 0,0,0,8,0,0,0,14,0,0,0,67,0,0,0,115, + 120,0,0,0,124,0,160,0,124,1,161,1,125,4,124,4, + 100,0,107,8,114,22,100,0,83,0,121,12,116,1,124,4, + 131,1,1,0,87,0,110,20,4,0,116,2,107,10,114,54, + 1,0,1,0,1,0,100,0,83,0,88,0,120,58,116,3, + 131,0,68,0,93,48,92,2,125,5,125,6,124,4,160,4, + 116,5,124,6,131,1,161,1,114,64,116,6,106,7,124,1, + 124,5,124,1,124,4,131,2,124,4,100,1,141,3,125,7, + 124,7,83,0,113,64,87,0,100,0,83,0,41,2,78,41, + 1,114,162,0,0,0,41,8,114,181,0,0,0,114,41,0, + 0,0,114,42,0,0,0,114,165,0,0,0,114,96,0,0, + 0,114,97,0,0,0,114,118,0,0,0,218,16,115,112,101, + 99,95,102,114,111,109,95,108,111,97,100,101,114,41,8,114, + 174,0,0,0,114,123,0,0,0,114,37,0,0,0,218,6, + 116,97,114,103,101,116,114,180,0,0,0,114,124,0,0,0, + 114,170,0,0,0,114,168,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,218,9,102,105,110,100,95, + 115,112,101,99,159,2,0,0,115,26,0,0,0,0,2,10, + 1,8,1,4,1,2,1,12,1,14,1,6,1,16,1,14, + 1,6,1,8,1,8,1,122,31,87,105,110,100,111,119,115, 82,101,103,105,115,116,114,121,70,105,110,100,101,114,46,102, - 105,110,100,95,109,111,100,117,108,101,41,2,78,78,41,1, - 78,41,12,114,109,0,0,0,114,108,0,0,0,114,110,0, - 0,0,114,111,0,0,0,114,172,0,0,0,114,171,0,0, - 0,114,170,0,0,0,218,11,99,108,97,115,115,109,101,116, - 104,111,100,114,169,0,0,0,114,175,0,0,0,114,178,0, - 0,0,114,179,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,114,166,0,0,0, - 82,2,0,0,115,18,0,0,0,12,5,4,3,4,2,4, - 2,12,7,12,15,2,1,12,15,2,1,114,166,0,0,0, - 99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, - 0,64,0,0,0,115,48,0,0,0,101,0,90,1,100,0, - 90,2,100,1,90,3,100,2,100,3,132,0,90,4,100,4, - 100,5,132,0,90,5,100,6,100,7,132,0,90,6,100,8, - 100,9,132,0,90,7,100,10,83,0,41,11,218,13,95,76, - 111,97,100,101,114,66,97,115,105,99,115,122,83,66,97,115, - 101,32,99,108,97,115,115,32,111,102,32,99,111,109,109,111, - 110,32,99,111,100,101,32,110,101,101,100,101,100,32,98,121, - 32,98,111,116,104,32,83,111,117,114,99,101,76,111,97,100, - 101,114,32,97,110,100,10,32,32,32,32,83,111,117,114,99, - 101,108,101,115,115,70,105,108,101,76,111,97,100,101,114,46, - 99,2,0,0,0,0,0,0,0,5,0,0,0,4,0,0, - 0,67,0,0,0,115,64,0,0,0,116,0,124,0,160,1, - 124,1,161,1,131,1,100,1,25,0,125,2,124,2,160,2, - 100,2,100,1,161,2,100,3,25,0,125,3,124,1,160,3, - 100,2,161,1,100,4,25,0,125,4,124,3,100,5,107,2, - 111,62,124,4,100,5,107,3,83,0,41,6,122,141,67,111, - 110,99,114,101,116,101,32,105,109,112,108,101,109,101,110,116, - 97,116,105,111,110,32,111,102,32,73,110,115,112,101,99,116, - 76,111,97,100,101,114,46,105,115,95,112,97,99,107,97,103, - 101,32,98,121,32,99,104,101,99,107,105,110,103,32,105,102, - 10,32,32,32,32,32,32,32,32,116,104,101,32,112,97,116, - 104,32,114,101,116,117,114,110,101,100,32,98,121,32,103,101, - 116,95,102,105,108,101,110,97,109,101,32,104,97,115,32,97, - 32,102,105,108,101,110,97,109,101,32,111,102,32,39,95,95, - 105,110,105,116,95,95,46,112,121,39,46,114,31,0,0,0, - 114,61,0,0,0,114,62,0,0,0,114,59,0,0,0,218, - 8,95,95,105,110,105,116,95,95,41,4,114,40,0,0,0, - 114,155,0,0,0,114,36,0,0,0,114,34,0,0,0,41, - 5,114,104,0,0,0,114,123,0,0,0,114,98,0,0,0, - 90,13,102,105,108,101,110,97,109,101,95,98,97,115,101,90, - 9,116,97,105,108,95,110,97,109,101,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,114,157,0,0,0,151,2, - 0,0,115,8,0,0,0,0,3,18,1,16,1,14,1,122, - 24,95,76,111,97,100,101,114,66,97,115,105,99,115,46,105, - 115,95,112,97,99,107,97,103,101,99,2,0,0,0,0,0, - 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,4, - 0,0,0,100,1,83,0,41,2,122,42,85,115,101,32,100, - 101,102,97,117,108,116,32,115,101,109,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,4,0,0,0,41,2,114,104,0, - 0,0,114,162,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,218,13,99,114,101,97,116,101,95,109, - 111,100,117,108,101,159,2,0,0,115,0,0,0,0,122,27, - 95,76,111,97,100,101,114,66,97,115,105,99,115,46,99,114, - 101,97,116,101,95,109,111,100,117,108,101,99,2,0,0,0, - 0,0,0,0,3,0,0,0,5,0,0,0,67,0,0,0, - 115,56,0,0,0,124,0,160,0,124,1,106,1,161,1,125, - 2,124,2,100,1,107,8,114,36,116,2,100,2,160,3,124, - 1,106,1,161,1,131,1,130,1,116,4,160,5,116,6,124, - 2,124,1,106,7,161,3,1,0,100,1,83,0,41,3,122, - 19,69,120,101,99,117,116,101,32,116,104,101,32,109,111,100, - 117,108,101,46,78,122,52,99,97,110,110,111,116,32,108,111, - 97,100,32,109,111,100,117,108,101,32,123,33,114,125,32,119, - 104,101,110,32,103,101,116,95,99,111,100,101,40,41,32,114, - 101,116,117,114,110,115,32,78,111,110,101,41,8,218,8,103, - 101,116,95,99,111,100,101,114,109,0,0,0,114,103,0,0, - 0,114,50,0,0,0,114,118,0,0,0,218,25,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,218,4,101,120,101,99,114,115,0,0, - 0,41,3,114,104,0,0,0,218,6,109,111,100,117,108,101, - 114,144,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,11,101,120,101,99,95,109,111,100,117,108, - 101,162,2,0,0,115,10,0,0,0,0,2,12,1,8,1, - 6,1,10,1,122,25,95,76,111,97,100,101,114,66,97,115, - 105,99,115,46,101,120,101,99,95,109,111,100,117,108,101,99, - 2,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, - 67,0,0,0,115,12,0,0,0,116,0,160,1,124,0,124, - 1,161,2,83,0,41,1,122,26,84,104,105,115,32,109,111, - 100,117,108,101,32,105,115,32,100,101,112,114,101,99,97,116, - 101,100,46,41,2,114,118,0,0,0,218,17,95,108,111,97, - 100,95,109,111,100,117,108,101,95,115,104,105,109,41,2,114, - 104,0,0,0,114,123,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,218,11,108,111,97,100,95,109, - 111,100,117,108,101,170,2,0,0,115,2,0,0,0,0,2, - 122,25,95,76,111,97,100,101,114,66,97,115,105,99,115,46, - 108,111,97,100,95,109,111,100,117,108,101,78,41,8,114,109, - 0,0,0,114,108,0,0,0,114,110,0,0,0,114,111,0, - 0,0,114,157,0,0,0,114,183,0,0,0,114,188,0,0, - 0,114,190,0,0,0,114,4,0,0,0,114,4,0,0,0, - 114,4,0,0,0,114,6,0,0,0,114,181,0,0,0,146, - 2,0,0,115,8,0,0,0,12,5,8,8,8,3,8,8, - 114,181,0,0,0,99,0,0,0,0,0,0,0,0,0,0, - 0,0,3,0,0,0,64,0,0,0,115,74,0,0,0,101, - 0,90,1,100,0,90,2,100,1,100,2,132,0,90,3,100, - 3,100,4,132,0,90,4,100,5,100,6,132,0,90,5,100, - 7,100,8,132,0,90,6,100,9,100,10,132,0,90,7,100, - 18,100,12,156,1,100,13,100,14,132,2,90,8,100,15,100, - 16,132,0,90,9,100,17,83,0,41,19,218,12,83,111,117, - 114,99,101,76,111,97,100,101,114,99,2,0,0,0,0,0, - 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,8, - 0,0,0,116,0,130,1,100,1,83,0,41,2,122,178,79, - 112,116,105,111,110,97,108,32,109,101,116,104,111,100,32,116, - 104,97,116,32,114,101,116,117,114,110,115,32,116,104,101,32, - 109,111,100,105,102,105,99,97,116,105,111,110,32,116,105,109, - 101,32,40,97,110,32,105,110,116,41,32,102,111,114,32,116, - 104,101,10,32,32,32,32,32,32,32,32,115,112,101,99,105, - 102,105,101,100,32,112,97,116,104,44,32,119,104,101,114,101, - 32,112,97,116,104,32,105,115,32,97,32,115,116,114,46,10, - 10,32,32,32,32,32,32,32,32,82,97,105,115,101,115,32, - 79,83,69,114,114,111,114,32,119,104,101,110,32,116,104,101, - 32,112,97,116,104,32,99,97,110,110,111,116,32,98,101,32, - 104,97,110,100,108,101,100,46,10,32,32,32,32,32,32,32, - 32,78,41,1,114,42,0,0,0,41,2,114,104,0,0,0, - 114,37,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,10,112,97,116,104,95,109,116,105,109,101, - 177,2,0,0,115,2,0,0,0,0,6,122,23,83,111,117, - 114,99,101,76,111,97,100,101,114,46,112,97,116,104,95,109, - 116,105,109,101,99,2,0,0,0,0,0,0,0,2,0,0, - 0,4,0,0,0,67,0,0,0,115,14,0,0,0,100,1, - 124,0,160,0,124,1,161,1,105,1,83,0,41,2,97,170, - 1,0,0,79,112,116,105,111,110,97,108,32,109,101,116,104, - 111,100,32,114,101,116,117,114,110,105,110,103,32,97,32,109, - 101,116,97,100,97,116,97,32,100,105,99,116,32,102,111,114, - 32,116,104,101,32,115,112,101,99,105,102,105,101,100,32,112, - 97,116,104,10,32,32,32,32,32,32,32,32,116,111,32,98, - 121,32,116,104,101,32,112,97,116,104,32,40,115,116,114,41, - 46,10,32,32,32,32,32,32,32,32,80,111,115,115,105,98, - 108,101,32,107,101,121,115,58,10,32,32,32,32,32,32,32, - 32,45,32,39,109,116,105,109,101,39,32,40,109,97,110,100, - 97,116,111,114,121,41,32,105,115,32,116,104,101,32,110,117, - 109,101,114,105,99,32,116,105,109,101,115,116,97,109,112,32, - 111,102,32,108,97,115,116,32,115,111,117,114,99,101,10,32, - 32,32,32,32,32,32,32,32,32,99,111,100,101,32,109,111, - 100,105,102,105,99,97,116,105,111,110,59,10,32,32,32,32, - 32,32,32,32,45,32,39,115,105,122,101,39,32,40,111,112, - 116,105,111,110,97,108,41,32,105,115,32,116,104,101,32,115, - 105,122,101,32,105,110,32,98,121,116,101,115,32,111,102,32, - 116,104,101,32,115,111,117,114,99,101,32,99,111,100,101,46, - 10,10,32,32,32,32,32,32,32,32,73,109,112,108,101,109, - 101,110,116,105,110,103,32,116,104,105,115,32,109,101,116,104, - 111,100,32,97,108,108,111,119,115,32,116,104,101,32,108,111, - 97,100,101,114,32,116,111,32,114,101,97,100,32,98,121,116, - 101,99,111,100,101,32,102,105,108,101,115,46,10,32,32,32, - 32,32,32,32,32,82,97,105,115,101,115,32,79,83,69,114, - 114,111,114,32,119,104,101,110,32,116,104,101,32,112,97,116, - 104,32,99,97,110,110,111,116,32,98,101,32,104,97,110,100, - 108,101,100,46,10,32,32,32,32,32,32,32,32,114,130,0, - 0,0,41,1,114,192,0,0,0,41,2,114,104,0,0,0, - 114,37,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,10,112,97,116,104,95,115,116,97,116,115, - 185,2,0,0,115,2,0,0,0,0,11,122,23,83,111,117, - 114,99,101,76,111,97,100,101,114,46,112,97,116,104,95,115, - 116,97,116,115,99,4,0,0,0,0,0,0,0,4,0,0, - 0,4,0,0,0,67,0,0,0,115,12,0,0,0,124,0, - 160,0,124,2,124,3,161,2,83,0,41,1,122,228,79,112, - 116,105,111,110,97,108,32,109,101,116,104,111,100,32,119,104, - 105,99,104,32,119,114,105,116,101,115,32,100,97,116,97,32, - 40,98,121,116,101,115,41,32,116,111,32,97,32,102,105,108, - 101,32,112,97,116,104,32,40,97,32,115,116,114,41,46,10, - 10,32,32,32,32,32,32,32,32,73,109,112,108,101,109,101, - 110,116,105,110,103,32,116,104,105,115,32,109,101,116,104,111, - 100,32,97,108,108,111,119,115,32,102,111,114,32,116,104,101, - 32,119,114,105,116,105,110,103,32,111,102,32,98,121,116,101, - 99,111,100,101,32,102,105,108,101,115,46,10,10,32,32,32, - 32,32,32,32,32,84,104,101,32,115,111,117,114,99,101,32, - 112,97,116,104,32,105,115,32,110,101,101,100,101,100,32,105, - 110,32,111,114,100,101,114,32,116,111,32,99,111,114,114,101, - 99,116,108,121,32,116,114,97,110,115,102,101,114,32,112,101, - 114,109,105,115,115,105,111,110,115,10,32,32,32,32,32,32, - 32,32,41,1,218,8,115,101,116,95,100,97,116,97,41,4, - 114,104,0,0,0,114,94,0,0,0,90,10,99,97,99,104, - 101,95,112,97,116,104,114,56,0,0,0,114,4,0,0,0, - 114,4,0,0,0,114,6,0,0,0,218,15,95,99,97,99, - 104,101,95,98,121,116,101,99,111,100,101,198,2,0,0,115, - 2,0,0,0,0,8,122,28,83,111,117,114,99,101,76,111, - 97,100,101,114,46,95,99,97,99,104,101,95,98,121,116,101, - 99,111,100,101,99,3,0,0,0,0,0,0,0,3,0,0, - 0,1,0,0,0,67,0,0,0,115,4,0,0,0,100,1, - 83,0,41,2,122,150,79,112,116,105,111,110,97,108,32,109, - 101,116,104,111,100,32,119,104,105,99,104,32,119,114,105,116, - 101,115,32,100,97,116,97,32,40,98,121,116,101,115,41,32, - 116,111,32,97,32,102,105,108,101,32,112,97,116,104,32,40, - 97,32,115,116,114,41,46,10,10,32,32,32,32,32,32,32, - 32,73,109,112,108,101,109,101,110,116,105,110,103,32,116,104, - 105,115,32,109,101,116,104,111,100,32,97,108,108,111,119,115, - 32,102,111,114,32,116,104,101,32,119,114,105,116,105,110,103, - 32,111,102,32,98,121,116,101,99,111,100,101,32,102,105,108, - 101,115,46,10,32,32,32,32,32,32,32,32,78,114,4,0, - 0,0,41,3,114,104,0,0,0,114,37,0,0,0,114,56, - 0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, - 0,0,114,194,0,0,0,208,2,0,0,115,0,0,0,0, - 122,21,83,111,117,114,99,101,76,111,97,100,101,114,46,115, - 101,116,95,100,97,116,97,99,2,0,0,0,0,0,0,0, - 5,0,0,0,16,0,0,0,67,0,0,0,115,82,0,0, - 0,124,0,160,0,124,1,161,1,125,2,121,14,124,0,160, - 1,124,2,161,1,125,3,87,0,110,48,4,0,116,2,107, - 10,114,72,1,0,125,4,1,0,122,20,116,3,100,1,124, - 1,100,2,141,2,124,4,130,2,87,0,89,0,100,3,100, - 3,125,4,126,4,88,0,110,2,88,0,116,4,124,3,131, - 1,83,0,41,4,122,52,67,111,110,99,114,101,116,101,32, - 105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111, - 102,32,73,110,115,112,101,99,116,76,111,97,100,101,114,46, - 103,101,116,95,115,111,117,114,99,101,46,122,39,115,111,117, - 114,99,101,32,110,111,116,32,97,118,97,105,108,97,98,108, - 101,32,116,104,114,111,117,103,104,32,103,101,116,95,100,97, - 116,97,40,41,41,1,114,102,0,0,0,78,41,5,114,155, - 0,0,0,218,8,103,101,116,95,100,97,116,97,114,42,0, - 0,0,114,103,0,0,0,114,153,0,0,0,41,5,114,104, - 0,0,0,114,123,0,0,0,114,37,0,0,0,114,151,0, - 0,0,218,3,101,120,99,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,218,10,103,101,116,95,115,111,117,114, - 99,101,215,2,0,0,115,14,0,0,0,0,2,10,1,2, - 1,14,1,16,1,4,1,28,1,122,23,83,111,117,114,99, - 101,76,111,97,100,101,114,46,103,101,116,95,115,111,117,114, - 99,101,114,31,0,0,0,41,1,218,9,95,111,112,116,105, - 109,105,122,101,99,3,0,0,0,1,0,0,0,4,0,0, - 0,8,0,0,0,67,0,0,0,115,22,0,0,0,116,0, - 106,1,116,2,124,1,124,2,100,1,100,2,124,3,100,3, - 141,6,83,0,41,4,122,130,82,101,116,117,114,110,32,116, - 104,101,32,99,111,100,101,32,111,98,106,101,99,116,32,99, - 111,109,112,105,108,101,100,32,102,114,111,109,32,115,111,117, - 114,99,101,46,10,10,32,32,32,32,32,32,32,32,84,104, - 101,32,39,100,97,116,97,39,32,97,114,103,117,109,101,110, - 116,32,99,97,110,32,98,101,32,97,110,121,32,111,98,106, - 101,99,116,32,116,121,112,101,32,116,104,97,116,32,99,111, - 109,112,105,108,101,40,41,32,115,117,112,112,111,114,116,115, - 46,10,32,32,32,32,32,32,32,32,114,186,0,0,0,84, - 41,2,218,12,100,111,110,116,95,105,110,104,101,114,105,116, - 114,72,0,0,0,41,3,114,118,0,0,0,114,185,0,0, - 0,218,7,99,111,109,112,105,108,101,41,4,114,104,0,0, - 0,114,56,0,0,0,114,37,0,0,0,114,199,0,0,0, - 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,218, - 14,115,111,117,114,99,101,95,116,111,95,99,111,100,101,225, - 2,0,0,115,4,0,0,0,0,5,12,1,122,27,83,111, - 117,114,99,101,76,111,97,100,101,114,46,115,111,117,114,99, - 101,95,116,111,95,99,111,100,101,99,2,0,0,0,0,0, - 0,0,10,0,0,0,43,0,0,0,67,0,0,0,115,92, - 1,0,0,124,0,160,0,124,1,161,1,125,2,100,1,125, - 3,121,12,116,1,124,2,131,1,125,4,87,0,110,24,4, - 0,116,2,107,10,114,50,1,0,1,0,1,0,100,1,125, - 4,89,0,110,162,88,0,121,14,124,0,160,3,124,2,161, - 1,125,5,87,0,110,20,4,0,116,4,107,10,114,86,1, - 0,1,0,1,0,89,0,110,126,88,0,116,5,124,5,100, - 2,25,0,131,1,125,3,121,14,124,0,160,6,124,4,161, - 1,125,6,87,0,110,20,4,0,116,4,107,10,114,134,1, - 0,1,0,1,0,89,0,110,78,88,0,121,20,116,7,124, - 6,124,5,124,1,124,4,100,3,141,4,125,7,87,0,110, - 24,4,0,116,8,116,9,102,2,107,10,114,180,1,0,1, - 0,1,0,89,0,110,32,88,0,116,10,160,11,100,4,124, - 4,124,2,161,3,1,0,116,12,124,7,124,1,124,4,124, - 2,100,5,141,4,83,0,124,0,160,6,124,2,161,1,125, - 8,124,0,160,13,124,8,124,2,161,2,125,9,116,10,160, - 11,100,6,124,2,161,2,1,0,116,14,106,15,144,1,115, - 88,124,4,100,1,107,9,144,1,114,88,124,3,100,1,107, - 9,144,1,114,88,116,16,124,9,124,3,116,17,124,8,131, - 1,131,3,125,6,121,30,124,0,160,18,124,2,124,4,124, - 6,161,3,1,0,116,10,160,11,100,7,124,4,161,2,1, - 0,87,0,110,22,4,0,116,2,107,10,144,1,114,86,1, - 0,1,0,1,0,89,0,110,2,88,0,124,9,83,0,41, - 8,122,190,67,111,110,99,114,101,116,101,32,105,109,112,108, - 101,109,101,110,116,97,116,105,111,110,32,111,102,32,73,110, - 115,112,101,99,116,76,111,97,100,101,114,46,103,101,116,95, - 99,111,100,101,46,10,10,32,32,32,32,32,32,32,32,82, - 101,97,100,105,110,103,32,111,102,32,98,121,116,101,99,111, - 100,101,32,114,101,113,117,105,114,101,115,32,112,97,116,104, - 95,115,116,97,116,115,32,116,111,32,98,101,32,105,109,112, - 108,101,109,101,110,116,101,100,46,32,84,111,32,119,114,105, - 116,101,10,32,32,32,32,32,32,32,32,98,121,116,101,99, - 111,100,101,44,32,115,101,116,95,100,97,116,97,32,109,117, - 115,116,32,97,108,115,111,32,98,101,32,105,109,112,108,101, - 109,101,110,116,101,100,46,10,10,32,32,32,32,32,32,32, - 32,78,114,130,0,0,0,41,3,114,136,0,0,0,114,102, - 0,0,0,114,37,0,0,0,122,13,123,125,32,109,97,116, - 99,104,101,115,32,123,125,41,3,114,102,0,0,0,114,93, - 0,0,0,114,94,0,0,0,122,19,99,111,100,101,32,111, - 98,106,101,99,116,32,102,114,111,109,32,123,125,122,10,119, - 114,111,116,101,32,123,33,114,125,41,19,114,155,0,0,0, - 114,83,0,0,0,114,70,0,0,0,114,193,0,0,0,114, - 42,0,0,0,114,16,0,0,0,114,196,0,0,0,114,139, - 0,0,0,114,103,0,0,0,114,134,0,0,0,114,118,0, - 0,0,114,133,0,0,0,114,145,0,0,0,114,202,0,0, - 0,114,8,0,0,0,218,19,100,111,110,116,95,119,114,105, - 116,101,95,98,121,116,101,99,111,100,101,114,148,0,0,0, - 114,33,0,0,0,114,195,0,0,0,41,10,114,104,0,0, - 0,114,123,0,0,0,114,94,0,0,0,114,137,0,0,0, - 114,93,0,0,0,218,2,115,116,114,56,0,0,0,218,10, - 98,121,116,101,115,95,100,97,116,97,114,151,0,0,0,90, - 11,99,111,100,101,95,111,98,106,101,99,116,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,114,184,0,0,0, - 233,2,0,0,115,78,0,0,0,0,7,10,1,4,1,2, - 1,12,1,14,1,10,2,2,1,14,1,14,1,6,2,12, - 1,2,1,14,1,14,1,6,2,2,1,4,1,4,1,12, - 1,18,1,6,2,8,1,6,1,6,1,2,1,8,1,10, - 1,12,1,12,1,18,1,10,1,6,1,10,1,2,1,14, - 1,16,1,16,1,6,1,122,21,83,111,117,114,99,101,76, - 111,97,100,101,114,46,103,101,116,95,99,111,100,101,78,114, - 91,0,0,0,41,10,114,109,0,0,0,114,108,0,0,0, - 114,110,0,0,0,114,192,0,0,0,114,193,0,0,0,114, - 195,0,0,0,114,194,0,0,0,114,198,0,0,0,114,202, - 0,0,0,114,184,0,0,0,114,4,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,191,0,0, - 0,175,2,0,0,115,14,0,0,0,8,2,8,8,8,13, - 8,10,8,7,8,10,14,8,114,191,0,0,0,99,0,0, - 0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0, - 0,0,115,80,0,0,0,101,0,90,1,100,0,90,2,100, + 105,110,100,95,115,112,101,99,99,3,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,160,0,124,1,124,2,161,2,125,3,124,3, + 100,1,107,9,114,26,124,3,106,1,83,0,100,1,83,0, + 100,1,83,0,41,2,122,108,70,105,110,100,32,109,111,100, + 117,108,101,32,110,97,109,101,100,32,105,110,32,116,104,101, + 32,114,101,103,105,115,116,114,121,46,10,10,32,32,32,32, + 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,101,120,101,99,95,109,111,100,117,108,101,40, + 41,32,105,110,115,116,101,97,100,46,10,10,32,32,32,32, + 32,32,32,32,78,41,2,114,184,0,0,0,114,124,0,0, + 0,41,4,114,174,0,0,0,114,123,0,0,0,114,37,0, + 0,0,114,168,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,11,102,105,110,100,95,109,111,100, + 117,108,101,175,2,0,0,115,8,0,0,0,0,7,12,1, + 8,1,6,2,122,33,87,105,110,100,111,119,115,82,101,103, + 105,115,116,114,121,70,105,110,100,101,114,46,102,105,110,100, + 95,109,111,100,117,108,101,41,2,78,78,41,1,78,41,12, + 114,109,0,0,0,114,108,0,0,0,114,110,0,0,0,114, + 111,0,0,0,114,178,0,0,0,114,177,0,0,0,114,176, + 0,0,0,218,11,99,108,97,115,115,109,101,116,104,111,100, + 114,175,0,0,0,114,181,0,0,0,114,184,0,0,0,114, + 185,0,0,0,114,4,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,172,0,0,0,125,2,0, + 0,115,18,0,0,0,12,5,4,3,4,2,4,2,12,7, + 12,15,2,1,12,15,2,1,114,172,0,0,0,99,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0, + 0,0,115,48,0,0,0,101,0,90,1,100,0,90,2,100, 1,90,3,100,2,100,3,132,0,90,4,100,4,100,5,132, - 0,90,5,100,6,100,7,132,0,90,6,101,7,135,0,102, - 1,100,8,100,9,132,8,131,1,90,8,101,7,100,10,100, - 11,132,0,131,1,90,9,100,12,100,13,132,0,90,10,135, - 0,4,0,90,11,83,0,41,14,218,10,70,105,108,101,76, - 111,97,100,101,114,122,103,66,97,115,101,32,102,105,108,101, - 32,108,111,97,100,101,114,32,99,108,97,115,115,32,119,104, - 105,99,104,32,105,109,112,108,101,109,101,110,116,115,32,116, - 104,101,32,108,111,97,100,101,114,32,112,114,111,116,111,99, - 111,108,32,109,101,116,104,111,100,115,32,116,104,97,116,10, - 32,32,32,32,114,101,113,117,105,114,101,32,102,105,108,101, - 32,115,121,115,116,101,109,32,117,115,97,103,101,46,99,3, - 0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,67, - 0,0,0,115,16,0,0,0,124,1,124,0,95,0,124,2, - 124,0,95,1,100,1,83,0,41,2,122,75,67,97,99,104, - 101,32,116,104,101,32,109,111,100,117,108,101,32,110,97,109, - 101,32,97,110,100,32,116,104,101,32,112,97,116,104,32,116, - 111,32,116,104,101,32,102,105,108,101,32,102,111,117,110,100, - 32,98,121,32,116,104,101,10,32,32,32,32,32,32,32,32, - 102,105,110,100,101,114,46,78,41,2,114,102,0,0,0,114, - 37,0,0,0,41,3,114,104,0,0,0,114,123,0,0,0, - 114,37,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,114,182,0,0,0,34,3,0,0,115,4,0, - 0,0,0,3,6,1,122,19,70,105,108,101,76,111,97,100, - 101,114,46,95,95,105,110,105,116,95,95,99,2,0,0,0, - 0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,0, - 115,24,0,0,0,124,0,106,0,124,1,106,0,107,2,111, - 22,124,0,106,1,124,1,106,1,107,2,83,0,41,1,78, - 41,2,218,9,95,95,99,108,97,115,115,95,95,114,115,0, - 0,0,41,2,114,104,0,0,0,218,5,111,116,104,101,114, - 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,218, - 6,95,95,101,113,95,95,40,3,0,0,115,4,0,0,0, - 0,1,12,1,122,17,70,105,108,101,76,111,97,100,101,114, - 46,95,95,101,113,95,95,99,1,0,0,0,0,0,0,0, - 1,0,0,0,3,0,0,0,67,0,0,0,115,20,0,0, - 0,116,0,124,0,106,1,131,1,116,0,124,0,106,2,131, - 1,65,0,83,0,41,1,78,41,3,218,4,104,97,115,104, - 114,102,0,0,0,114,37,0,0,0,41,1,114,104,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, - 218,8,95,95,104,97,115,104,95,95,44,3,0,0,115,2, - 0,0,0,0,1,122,19,70,105,108,101,76,111,97,100,101, + 0,90,5,100,6,100,7,132,0,90,6,100,8,100,9,132, + 0,90,7,100,10,83,0,41,11,218,13,95,76,111,97,100, + 101,114,66,97,115,105,99,115,122,83,66,97,115,101,32,99, + 108,97,115,115,32,111,102,32,99,111,109,109,111,110,32,99, + 111,100,101,32,110,101,101,100,101,100,32,98,121,32,98,111, + 116,104,32,83,111,117,114,99,101,76,111,97,100,101,114,32, + 97,110,100,10,32,32,32,32,83,111,117,114,99,101,108,101, + 115,115,70,105,108,101,76,111,97,100,101,114,46,99,2,0, + 0,0,0,0,0,0,5,0,0,0,4,0,0,0,67,0, + 0,0,115,64,0,0,0,116,0,124,0,160,1,124,1,161, + 1,131,1,100,1,25,0,125,2,124,2,160,2,100,2,100, + 1,161,2,100,3,25,0,125,3,124,1,160,3,100,2,161, + 1,100,4,25,0,125,4,124,3,100,5,107,2,111,62,124, + 4,100,5,107,3,83,0,41,6,122,141,67,111,110,99,114, + 101,116,101,32,105,109,112,108,101,109,101,110,116,97,116,105, + 111,110,32,111,102,32,73,110,115,112,101,99,116,76,111,97, + 100,101,114,46,105,115,95,112,97,99,107,97,103,101,32,98, + 121,32,99,104,101,99,107,105,110,103,32,105,102,10,32,32, + 32,32,32,32,32,32,116,104,101,32,112,97,116,104,32,114, + 101,116,117,114,110,101,100,32,98,121,32,103,101,116,95,102, + 105,108,101,110,97,109,101,32,104,97,115,32,97,32,102,105, + 108,101,110,97,109,101,32,111,102,32,39,95,95,105,110,105, + 116,95,95,46,112,121,39,46,114,31,0,0,0,114,61,0, + 0,0,114,62,0,0,0,114,59,0,0,0,218,8,95,95, + 105,110,105,116,95,95,41,4,114,40,0,0,0,114,161,0, + 0,0,114,36,0,0,0,114,34,0,0,0,41,5,114,104, + 0,0,0,114,123,0,0,0,114,98,0,0,0,90,13,102, + 105,108,101,110,97,109,101,95,98,97,115,101,90,9,116,97, + 105,108,95,110,97,109,101,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,114,163,0,0,0,194,2,0,0,115, + 8,0,0,0,0,3,18,1,16,1,14,1,122,24,95,76, + 111,97,100,101,114,66,97,115,105,99,115,46,105,115,95,112, + 97,99,107,97,103,101,99,2,0,0,0,0,0,0,0,2, + 0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0, + 100,1,83,0,41,2,122,42,85,115,101,32,100,101,102,97, + 117,108,116,32,115,101,109,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,4,0,0,0,41,2,114,104,0,0,0,114, + 168,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,13,99,114,101,97,116,101,95,109,111,100,117, + 108,101,202,2,0,0,115,0,0,0,0,122,27,95,76,111, + 97,100,101,114,66,97,115,105,99,115,46,99,114,101,97,116, + 101,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0, + 0,3,0,0,0,5,0,0,0,67,0,0,0,115,56,0, + 0,0,124,0,160,0,124,1,106,1,161,1,125,2,124,2, + 100,1,107,8,114,36,116,2,100,2,160,3,124,1,106,1, + 161,1,131,1,130,1,116,4,160,5,116,6,124,2,124,1, + 106,7,161,3,1,0,100,1,83,0,41,3,122,19,69,120, + 101,99,117,116,101,32,116,104,101,32,109,111,100,117,108,101, + 46,78,122,52,99,97,110,110,111,116,32,108,111,97,100,32, + 109,111,100,117,108,101,32,123,33,114,125,32,119,104,101,110, + 32,103,101,116,95,99,111,100,101,40,41,32,114,101,116,117, + 114,110,115,32,78,111,110,101,41,8,218,8,103,101,116,95, + 99,111,100,101,114,109,0,0,0,114,103,0,0,0,114,50, + 0,0,0,114,118,0,0,0,218,25,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,218,4,101,120,101,99,114,115,0,0,0,41,3, + 114,104,0,0,0,218,6,109,111,100,117,108,101,114,146,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,11,101,120,101,99,95,109,111,100,117,108,101,205,2, + 0,0,115,10,0,0,0,0,2,12,1,8,1,6,1,10, + 1,122,25,95,76,111,97,100,101,114,66,97,115,105,99,115, + 46,101,120,101,99,95,109,111,100,117,108,101,99,2,0,0, + 0,0,0,0,0,2,0,0,0,4,0,0,0,67,0,0, + 0,115,12,0,0,0,116,0,160,1,124,0,124,1,161,2, + 83,0,41,1,122,26,84,104,105,115,32,109,111,100,117,108, + 101,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46, + 41,2,114,118,0,0,0,218,17,95,108,111,97,100,95,109, + 111,100,117,108,101,95,115,104,105,109,41,2,114,104,0,0, + 0,114,123,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,11,108,111,97,100,95,109,111,100,117, + 108,101,213,2,0,0,115,2,0,0,0,0,2,122,25,95, + 76,111,97,100,101,114,66,97,115,105,99,115,46,108,111,97, + 100,95,109,111,100,117,108,101,78,41,8,114,109,0,0,0, + 114,108,0,0,0,114,110,0,0,0,114,111,0,0,0,114, + 163,0,0,0,114,189,0,0,0,114,194,0,0,0,114,196, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,6,0,0,0,114,187,0,0,0,189,2,0,0, + 115,8,0,0,0,12,5,8,8,8,3,8,8,114,187,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,3, + 0,0,0,64,0,0,0,115,74,0,0,0,101,0,90,1, + 100,0,90,2,100,1,100,2,132,0,90,3,100,3,100,4, + 132,0,90,4,100,5,100,6,132,0,90,5,100,7,100,8, + 132,0,90,6,100,9,100,10,132,0,90,7,100,18,100,12, + 156,1,100,13,100,14,132,2,90,8,100,15,100,16,132,0, + 90,9,100,17,83,0,41,19,218,12,83,111,117,114,99,101, + 76,111,97,100,101,114,99,2,0,0,0,0,0,0,0,2, + 0,0,0,1,0,0,0,67,0,0,0,115,8,0,0,0, + 116,0,130,1,100,1,83,0,41,2,122,178,79,112,116,105, + 111,110,97,108,32,109,101,116,104,111,100,32,116,104,97,116, + 32,114,101,116,117,114,110,115,32,116,104,101,32,109,111,100, + 105,102,105,99,97,116,105,111,110,32,116,105,109,101,32,40, + 97,110,32,105,110,116,41,32,102,111,114,32,116,104,101,10, + 32,32,32,32,32,32,32,32,115,112,101,99,105,102,105,101, + 100,32,112,97,116,104,44,32,119,104,101,114,101,32,112,97, + 116,104,32,105,115,32,97,32,115,116,114,46,10,10,32,32, + 32,32,32,32,32,32,82,97,105,115,101,115,32,79,83,69, + 114,114,111,114,32,119,104,101,110,32,116,104,101,32,112,97, + 116,104,32,99,97,110,110,111,116,32,98,101,32,104,97,110, + 100,108,101,100,46,10,32,32,32,32,32,32,32,32,78,41, + 1,114,42,0,0,0,41,2,114,104,0,0,0,114,37,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,10,112,97,116,104,95,109,116,105,109,101,220,2,0, + 0,115,2,0,0,0,0,6,122,23,83,111,117,114,99,101, + 76,111,97,100,101,114,46,112,97,116,104,95,109,116,105,109, + 101,99,2,0,0,0,0,0,0,0,2,0,0,0,4,0, + 0,0,67,0,0,0,115,14,0,0,0,100,1,124,0,160, + 0,124,1,161,1,105,1,83,0,41,2,97,170,1,0,0, + 79,112,116,105,111,110,97,108,32,109,101,116,104,111,100,32, + 114,101,116,117,114,110,105,110,103,32,97,32,109,101,116,97, + 100,97,116,97,32,100,105,99,116,32,102,111,114,32,116,104, + 101,32,115,112,101,99,105,102,105,101,100,32,112,97,116,104, + 10,32,32,32,32,32,32,32,32,116,111,32,98,121,32,116, + 104,101,32,112,97,116,104,32,40,115,116,114,41,46,10,32, + 32,32,32,32,32,32,32,80,111,115,115,105,98,108,101,32, + 107,101,121,115,58,10,32,32,32,32,32,32,32,32,45,32, + 39,109,116,105,109,101,39,32,40,109,97,110,100,97,116,111, + 114,121,41,32,105,115,32,116,104,101,32,110,117,109,101,114, + 105,99,32,116,105,109,101,115,116,97,109,112,32,111,102,32, + 108,97,115,116,32,115,111,117,114,99,101,10,32,32,32,32, + 32,32,32,32,32,32,99,111,100,101,32,109,111,100,105,102, + 105,99,97,116,105,111,110,59,10,32,32,32,32,32,32,32, + 32,45,32,39,115,105,122,101,39,32,40,111,112,116,105,111, + 110,97,108,41,32,105,115,32,116,104,101,32,115,105,122,101, + 32,105,110,32,98,121,116,101,115,32,111,102,32,116,104,101, + 32,115,111,117,114,99,101,32,99,111,100,101,46,10,10,32, + 32,32,32,32,32,32,32,73,109,112,108,101,109,101,110,116, + 105,110,103,32,116,104,105,115,32,109,101,116,104,111,100,32, + 97,108,108,111,119,115,32,116,104,101,32,108,111,97,100,101, + 114,32,116,111,32,114,101,97,100,32,98,121,116,101,99,111, + 100,101,32,102,105,108,101,115,46,10,32,32,32,32,32,32, + 32,32,82,97,105,115,101,115,32,79,83,69,114,114,111,114, + 32,119,104,101,110,32,116,104,101,32,112,97,116,104,32,99, + 97,110,110,111,116,32,98,101,32,104,97,110,100,108,101,100, + 46,10,32,32,32,32,32,32,32,32,114,151,0,0,0,41, + 1,114,198,0,0,0,41,2,114,104,0,0,0,114,37,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,10,112,97,116,104,95,115,116,97,116,115,228,2,0, + 0,115,2,0,0,0,0,11,122,23,83,111,117,114,99,101, + 76,111,97,100,101,114,46,112,97,116,104,95,115,116,97,116, + 115,99,4,0,0,0,0,0,0,0,4,0,0,0,4,0, + 0,0,67,0,0,0,115,12,0,0,0,124,0,160,0,124, + 2,124,3,161,2,83,0,41,1,122,228,79,112,116,105,111, + 110,97,108,32,109,101,116,104,111,100,32,119,104,105,99,104, + 32,119,114,105,116,101,115,32,100,97,116,97,32,40,98,121, + 116,101,115,41,32,116,111,32,97,32,102,105,108,101,32,112, + 97,116,104,32,40,97,32,115,116,114,41,46,10,10,32,32, + 32,32,32,32,32,32,73,109,112,108,101,109,101,110,116,105, + 110,103,32,116,104,105,115,32,109,101,116,104,111,100,32,97, + 108,108,111,119,115,32,102,111,114,32,116,104,101,32,119,114, + 105,116,105,110,103,32,111,102,32,98,121,116,101,99,111,100, + 101,32,102,105,108,101,115,46,10,10,32,32,32,32,32,32, + 32,32,84,104,101,32,115,111,117,114,99,101,32,112,97,116, + 104,32,105,115,32,110,101,101,100,101,100,32,105,110,32,111, + 114,100,101,114,32,116,111,32,99,111,114,114,101,99,116,108, + 121,32,116,114,97,110,115,102,101,114,32,112,101,114,109,105, + 115,115,105,111,110,115,10,32,32,32,32,32,32,32,32,41, + 1,218,8,115,101,116,95,100,97,116,97,41,4,114,104,0, + 0,0,114,94,0,0,0,90,10,99,97,99,104,101,95,112, + 97,116,104,114,56,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,6,0,0,0,218,15,95,99,97,99,104,101,95, + 98,121,116,101,99,111,100,101,241,2,0,0,115,2,0,0, + 0,0,8,122,28,83,111,117,114,99,101,76,111,97,100,101, + 114,46,95,99,97,99,104,101,95,98,121,116,101,99,111,100, + 101,99,3,0,0,0,0,0,0,0,3,0,0,0,1,0, + 0,0,67,0,0,0,115,4,0,0,0,100,1,83,0,41, + 2,122,150,79,112,116,105,111,110,97,108,32,109,101,116,104, + 111,100,32,119,104,105,99,104,32,119,114,105,116,101,115,32, + 100,97,116,97,32,40,98,121,116,101,115,41,32,116,111,32, + 97,32,102,105,108,101,32,112,97,116,104,32,40,97,32,115, + 116,114,41,46,10,10,32,32,32,32,32,32,32,32,73,109, + 112,108,101,109,101,110,116,105,110,103,32,116,104,105,115,32, + 109,101,116,104,111,100,32,97,108,108,111,119,115,32,102,111, + 114,32,116,104,101,32,119,114,105,116,105,110,103,32,111,102, + 32,98,121,116,101,99,111,100,101,32,102,105,108,101,115,46, + 10,32,32,32,32,32,32,32,32,78,114,4,0,0,0,41, + 3,114,104,0,0,0,114,37,0,0,0,114,56,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,114, + 200,0,0,0,251,2,0,0,115,0,0,0,0,122,21,83, + 111,117,114,99,101,76,111,97,100,101,114,46,115,101,116,95, + 100,97,116,97,99,2,0,0,0,0,0,0,0,5,0,0, + 0,16,0,0,0,67,0,0,0,115,82,0,0,0,124,0, + 160,0,124,1,161,1,125,2,121,14,124,0,160,1,124,2, + 161,1,125,3,87,0,110,48,4,0,116,2,107,10,114,72, + 1,0,125,4,1,0,122,20,116,3,100,1,124,1,100,2, + 141,2,124,4,130,2,87,0,89,0,100,3,100,3,125,4, + 126,4,88,0,110,2,88,0,116,4,124,3,131,1,83,0, + 41,4,122,52,67,111,110,99,114,101,116,101,32,105,109,112, + 108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,73, + 110,115,112,101,99,116,76,111,97,100,101,114,46,103,101,116, + 95,115,111,117,114,99,101,46,122,39,115,111,117,114,99,101, + 32,110,111,116,32,97,118,97,105,108,97,98,108,101,32,116, + 104,114,111,117,103,104,32,103,101,116,95,100,97,116,97,40, + 41,41,1,114,102,0,0,0,78,41,5,114,161,0,0,0, + 218,8,103,101,116,95,100,97,116,97,114,42,0,0,0,114, + 103,0,0,0,114,159,0,0,0,41,5,114,104,0,0,0, + 114,123,0,0,0,114,37,0,0,0,114,157,0,0,0,218, + 3,101,120,99,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,10,103,101,116,95,115,111,117,114,99,101,2, + 3,0,0,115,14,0,0,0,0,2,10,1,2,1,14,1, + 16,1,4,1,28,1,122,23,83,111,117,114,99,101,76,111, + 97,100,101,114,46,103,101,116,95,115,111,117,114,99,101,114, + 31,0,0,0,41,1,218,9,95,111,112,116,105,109,105,122, + 101,99,3,0,0,0,1,0,0,0,4,0,0,0,8,0, + 0,0,67,0,0,0,115,22,0,0,0,116,0,106,1,116, + 2,124,1,124,2,100,1,100,2,124,3,100,3,141,6,83, + 0,41,4,122,130,82,101,116,117,114,110,32,116,104,101,32, + 99,111,100,101,32,111,98,106,101,99,116,32,99,111,109,112, + 105,108,101,100,32,102,114,111,109,32,115,111,117,114,99,101, + 46,10,10,32,32,32,32,32,32,32,32,84,104,101,32,39, + 100,97,116,97,39,32,97,114,103,117,109,101,110,116,32,99, + 97,110,32,98,101,32,97,110,121,32,111,98,106,101,99,116, + 32,116,121,112,101,32,116,104,97,116,32,99,111,109,112,105, + 108,101,40,41,32,115,117,112,112,111,114,116,115,46,10,32, + 32,32,32,32,32,32,32,114,192,0,0,0,84,41,2,218, + 12,100,111,110,116,95,105,110,104,101,114,105,116,114,72,0, + 0,0,41,3,114,118,0,0,0,114,191,0,0,0,218,7, + 99,111,109,112,105,108,101,41,4,114,104,0,0,0,114,56, + 0,0,0,114,37,0,0,0,114,205,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,6,0,0,0,218,14,115,111, + 117,114,99,101,95,116,111,95,99,111,100,101,12,3,0,0, + 115,4,0,0,0,0,5,12,1,122,27,83,111,117,114,99, + 101,76,111,97,100,101,114,46,115,111,117,114,99,101,95,116, + 111,95,99,111,100,101,99,2,0,0,0,0,0,0,0,15, + 0,0,0,43,0,0,0,67,0,0,0,115,46,2,0,0, + 124,0,160,0,124,1,161,1,125,2,100,1,125,3,100,1, + 125,4,100,1,125,5,100,2,125,6,100,3,125,7,121,12, + 116,1,124,2,131,1,125,8,87,0,110,26,4,0,116,2, + 107,10,114,68,1,0,1,0,1,0,100,1,125,8,89,0, + 144,1,110,48,88,0,121,14,124,0,160,3,124,2,161,1, + 125,9,87,0,110,22,4,0,116,4,107,10,114,106,1,0, + 1,0,1,0,89,0,144,1,110,10,88,0,116,5,124,9, + 100,4,25,0,131,1,125,3,121,14,124,0,160,6,124,8, + 161,1,125,10,87,0,110,20,4,0,116,4,107,10,114,154, + 1,0,1,0,1,0,89,0,110,218,88,0,124,1,124,8, + 100,5,156,2,125,11,121,148,116,7,124,10,124,1,124,11, + 131,3,125,12,116,8,124,10,131,1,100,6,100,1,133,2, + 25,0,125,13,124,12,100,7,64,0,100,8,107,3,125,6, + 124,6,144,1,114,36,124,12,100,9,64,0,100,8,107,3, + 125,7,116,9,106,10,100,10,107,3,144,1,114,56,124,7, + 115,254,116,9,106,10,100,11,107,2,144,1,114,56,124,0, + 160,6,124,2,161,1,125,4,116,9,160,11,116,12,124,4, + 161,2,125,5,116,13,124,10,124,5,124,1,124,11,131,4, + 1,0,110,20,116,14,124,10,124,3,124,9,100,12,25,0, + 124,1,124,11,131,5,1,0,87,0,110,26,4,0,116,15, + 116,16,102,2,107,10,144,1,114,84,1,0,1,0,1,0, + 89,0,110,32,88,0,116,17,160,18,100,13,124,8,124,2, + 161,3,1,0,116,19,124,13,124,1,124,8,124,2,100,14, + 141,4,83,0,124,4,100,1,107,8,144,1,114,136,124,0, + 160,6,124,2,161,1,125,4,124,0,160,20,124,4,124,2, + 161,2,125,14,116,17,160,18,100,15,124,2,161,2,1,0, + 116,21,106,22,144,2,115,42,124,8,100,1,107,9,144,2, + 114,42,124,3,100,1,107,9,144,2,114,42,124,6,144,1, + 114,228,124,5,100,1,107,8,144,1,114,214,116,9,160,11, + 124,4,161,1,125,5,116,23,124,14,124,5,124,7,131,3, + 125,10,110,16,116,24,124,14,124,3,116,25,124,4,131,1, + 131,3,125,10,121,30,124,0,160,26,124,2,124,8,124,10, + 161,3,1,0,116,17,160,18,100,16,124,8,161,2,1,0, + 87,0,110,22,4,0,116,2,107,10,144,2,114,40,1,0, + 1,0,1,0,89,0,110,2,88,0,124,14,83,0,41,17, + 122,190,67,111,110,99,114,101,116,101,32,105,109,112,108,101, + 109,101,110,116,97,116,105,111,110,32,111,102,32,73,110,115, + 112,101,99,116,76,111,97,100,101,114,46,103,101,116,95,99, + 111,100,101,46,10,10,32,32,32,32,32,32,32,32,82,101, + 97,100,105,110,103,32,111,102,32,98,121,116,101,99,111,100, + 101,32,114,101,113,117,105,114,101,115,32,112,97,116,104,95, + 115,116,97,116,115,32,116,111,32,98,101,32,105,109,112,108, + 101,109,101,110,116,101,100,46,32,84,111,32,119,114,105,116, + 101,10,32,32,32,32,32,32,32,32,98,121,116,101,99,111, + 100,101,44,32,115,101,116,95,100,97,116,97,32,109,117,115, + 116,32,97,108,115,111,32,98,101,32,105,109,112,108,101,109, + 101,110,116,101,100,46,10,10,32,32,32,32,32,32,32,32, + 78,70,84,114,151,0,0,0,41,2,114,102,0,0,0,114, + 37,0,0,0,114,128,0,0,0,114,31,0,0,0,114,62, + 0,0,0,114,59,0,0,0,90,5,110,101,118,101,114,90, + 6,97,108,119,97,121,115,218,4,115,105,122,101,122,13,123, + 125,32,109,97,116,99,104,101,115,32,123,125,41,3,114,102, + 0,0,0,114,93,0,0,0,114,94,0,0,0,122,19,99, + 111,100,101,32,111,98,106,101,99,116,32,102,114,111,109,32, + 123,125,122,10,119,114,111,116,101,32,123,33,114,125,41,27, + 114,161,0,0,0,114,83,0,0,0,114,70,0,0,0,114, + 199,0,0,0,114,42,0,0,0,114,16,0,0,0,114,202, + 0,0,0,114,135,0,0,0,218,10,109,101,109,111,114,121, + 118,105,101,119,114,145,0,0,0,90,21,99,104,101,99,107, + 95,104,97,115,104,95,98,97,115,101,100,95,112,121,99,115, + 114,140,0,0,0,218,17,95,82,65,87,95,77,65,71,73, + 67,95,78,85,77,66,69,82,114,141,0,0,0,114,139,0, + 0,0,114,103,0,0,0,114,133,0,0,0,114,118,0,0, + 0,114,132,0,0,0,114,147,0,0,0,114,208,0,0,0, + 114,8,0,0,0,218,19,100,111,110,116,95,119,114,105,116, + 101,95,98,121,116,101,99,111,100,101,114,154,0,0,0,114, + 152,0,0,0,114,33,0,0,0,114,201,0,0,0,41,15, + 114,104,0,0,0,114,123,0,0,0,114,94,0,0,0,114, + 137,0,0,0,114,157,0,0,0,114,140,0,0,0,90,10, + 104,97,115,104,95,98,97,115,101,100,90,12,99,104,101,99, + 107,95,115,111,117,114,99,101,114,93,0,0,0,218,2,115, + 116,114,56,0,0,0,114,134,0,0,0,114,71,0,0,0, + 90,10,98,121,116,101,115,95,100,97,116,97,90,11,99,111, + 100,101,95,111,98,106,101,99,116,114,4,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,190,0,0,0,20,3,0, + 0,115,134,0,0,0,0,7,10,1,4,1,4,1,4,1, + 4,1,4,1,2,1,12,1,14,1,12,2,2,1,14,1, + 14,1,8,2,12,1,2,1,14,1,14,1,6,3,2,1, + 8,2,2,1,12,1,16,1,12,1,6,1,12,1,12,1, + 4,1,12,1,10,1,4,1,2,1,6,2,8,1,8,2, + 2,1,2,1,2,1,6,1,2,1,10,2,20,1,6,2, + 8,1,6,1,6,1,2,1,8,1,10,1,10,1,12,1, + 12,1,18,1,10,1,6,1,10,1,10,1,14,2,6,1, + 10,1,2,1,14,1,16,1,16,1,6,1,122,21,83,111, + 117,114,99,101,76,111,97,100,101,114,46,103,101,116,95,99, + 111,100,101,78,114,91,0,0,0,41,10,114,109,0,0,0, + 114,108,0,0,0,114,110,0,0,0,114,198,0,0,0,114, + 199,0,0,0,114,201,0,0,0,114,200,0,0,0,114,204, + 0,0,0,114,208,0,0,0,114,190,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,114,197,0,0,0,218,2,0,0,115,14,0,0,0,8, + 2,8,8,8,13,8,10,8,7,8,10,14,8,114,197,0, + 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,4, + 0,0,0,0,0,0,0,115,80,0,0,0,101,0,90,1, + 100,0,90,2,100,1,90,3,100,2,100,3,132,0,90,4, + 100,4,100,5,132,0,90,5,100,6,100,7,132,0,90,6, + 101,7,135,0,102,1,100,8,100,9,132,8,131,1,90,8, + 101,7,100,10,100,11,132,0,131,1,90,9,100,12,100,13, + 132,0,90,10,135,0,4,0,90,11,83,0,41,14,218,10, + 70,105,108,101,76,111,97,100,101,114,122,103,66,97,115,101, + 32,102,105,108,101,32,108,111,97,100,101,114,32,99,108,97, + 115,115,32,119,104,105,99,104,32,105,109,112,108,101,109,101, + 110,116,115,32,116,104,101,32,108,111,97,100,101,114,32,112, + 114,111,116,111,99,111,108,32,109,101,116,104,111,100,115,32, + 116,104,97,116,10,32,32,32,32,114,101,113,117,105,114,101, + 32,102,105,108,101,32,115,121,115,116,101,109,32,117,115,97, + 103,101,46,99,3,0,0,0,0,0,0,0,3,0,0,0, + 2,0,0,0,67,0,0,0,115,16,0,0,0,124,1,124, + 0,95,0,124,2,124,0,95,1,100,1,83,0,41,2,122, + 75,67,97,99,104,101,32,116,104,101,32,109,111,100,117,108, + 101,32,110,97,109,101,32,97,110,100,32,116,104,101,32,112, + 97,116,104,32,116,111,32,116,104,101,32,102,105,108,101,32, + 102,111,117,110,100,32,98,121,32,116,104,101,10,32,32,32, + 32,32,32,32,32,102,105,110,100,101,114,46,78,41,2,114, + 102,0,0,0,114,37,0,0,0,41,3,114,104,0,0,0, + 114,123,0,0,0,114,37,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,114,188,0,0,0,111,3, + 0,0,115,4,0,0,0,0,3,6,1,122,19,70,105,108, + 101,76,111,97,100,101,114,46,95,95,105,110,105,116,95,95, + 99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0, + 0,67,0,0,0,115,24,0,0,0,124,0,106,0,124,1, + 106,0,107,2,111,22,124,0,106,1,124,1,106,1,107,2, + 83,0,41,1,78,41,2,218,9,95,95,99,108,97,115,115, + 95,95,114,115,0,0,0,41,2,114,104,0,0,0,218,5, + 111,116,104,101,114,114,4,0,0,0,114,4,0,0,0,114, + 6,0,0,0,218,6,95,95,101,113,95,95,117,3,0,0, + 115,4,0,0,0,0,1,12,1,122,17,70,105,108,101,76, + 111,97,100,101,114,46,95,95,101,113,95,95,99,1,0,0, + 0,0,0,0,0,1,0,0,0,3,0,0,0,67,0,0, + 0,115,20,0,0,0,116,0,124,0,106,1,131,1,116,0, + 124,0,106,2,131,1,65,0,83,0,41,1,78,41,3,218, + 4,104,97,115,104,114,102,0,0,0,114,37,0,0,0,41, + 1,114,104,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,8,95,95,104,97,115,104,95,95,121, + 3,0,0,115,2,0,0,0,0,1,122,19,70,105,108,101, + 76,111,97,100,101,114,46,95,95,104,97,115,104,95,95,99, + 2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 3,0,0,0,115,16,0,0,0,116,0,116,1,124,0,131, + 2,160,2,124,1,161,1,83,0,41,1,122,100,76,111,97, + 100,32,97,32,109,111,100,117,108,101,32,102,114,111,109,32, + 97,32,102,105,108,101,46,10,10,32,32,32,32,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,101,120,101,99,95,109,111,100,117,108,101,40,41,32,105, + 110,115,116,101,97,100,46,10,10,32,32,32,32,32,32,32, + 32,41,3,218,5,115,117,112,101,114,114,214,0,0,0,114, + 196,0,0,0,41,2,114,104,0,0,0,114,123,0,0,0, + 41,1,114,215,0,0,0,114,4,0,0,0,114,6,0,0, + 0,114,196,0,0,0,124,3,0,0,115,2,0,0,0,0, + 10,122,22,70,105,108,101,76,111,97,100,101,114,46,108,111, + 97,100,95,109,111,100,117,108,101,99,2,0,0,0,0,0, + 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,6, + 0,0,0,124,0,106,0,83,0,41,1,122,58,82,101,116, + 117,114,110,32,116,104,101,32,112,97,116,104,32,116,111,32, + 116,104,101,32,115,111,117,114,99,101,32,102,105,108,101,32, + 97,115,32,102,111,117,110,100,32,98,121,32,116,104,101,32, + 102,105,110,100,101,114,46,41,1,114,37,0,0,0,41,2, + 114,104,0,0,0,114,123,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,114,161,0,0,0,136,3, + 0,0,115,2,0,0,0,0,3,122,23,70,105,108,101,76, + 111,97,100,101,114,46,103,101,116,95,102,105,108,101,110,97, + 109,101,99,2,0,0,0,0,0,0,0,3,0,0,0,9, + 0,0,0,67,0,0,0,115,32,0,0,0,116,0,160,1, + 124,1,100,1,161,2,143,10,125,2,124,2,160,2,161,0, + 83,0,81,0,82,0,88,0,100,2,83,0,41,3,122,39, + 82,101,116,117,114,110,32,116,104,101,32,100,97,116,97,32, + 102,114,111,109,32,112,97,116,104,32,97,115,32,114,97,119, + 32,98,121,116,101,115,46,218,1,114,78,41,3,114,52,0, + 0,0,114,53,0,0,0,90,4,114,101,97,100,41,3,114, + 104,0,0,0,114,37,0,0,0,114,57,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,6,0,0,0,114,202,0, + 0,0,141,3,0,0,115,4,0,0,0,0,2,14,1,122, + 19,70,105,108,101,76,111,97,100,101,114,46,103,101,116,95, + 100,97,116,97,41,12,114,109,0,0,0,114,108,0,0,0, + 114,110,0,0,0,114,111,0,0,0,114,188,0,0,0,114, + 217,0,0,0,114,219,0,0,0,114,120,0,0,0,114,196, + 0,0,0,114,161,0,0,0,114,202,0,0,0,90,13,95, + 95,99,108,97,115,115,99,101,108,108,95,95,114,4,0,0, + 0,114,4,0,0,0,41,1,114,215,0,0,0,114,6,0, + 0,0,114,214,0,0,0,106,3,0,0,115,12,0,0,0, + 12,5,8,6,8,4,8,3,16,12,12,5,114,214,0,0, + 0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0, + 0,0,64,0,0,0,115,46,0,0,0,101,0,90,1,100, + 0,90,2,100,1,90,3,100,2,100,3,132,0,90,4,100, + 4,100,5,132,0,90,5,100,6,100,7,156,1,100,8,100, + 9,132,2,90,6,100,10,83,0,41,11,218,16,83,111,117, + 114,99,101,70,105,108,101,76,111,97,100,101,114,122,62,67, + 111,110,99,114,101,116,101,32,105,109,112,108,101,109,101,110, + 116,97,116,105,111,110,32,111,102,32,83,111,117,114,99,101, + 76,111,97,100,101,114,32,117,115,105,110,103,32,116,104,101, + 32,102,105,108,101,32,115,121,115,116,101,109,46,99,2,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,67,0, + 0,0,115,22,0,0,0,116,0,124,1,131,1,125,2,124, + 2,106,1,124,2,106,2,100,1,156,2,83,0,41,2,122, + 33,82,101,116,117,114,110,32,116,104,101,32,109,101,116,97, + 100,97,116,97,32,102,111,114,32,116,104,101,32,112,97,116, + 104,46,41,2,114,151,0,0,0,114,209,0,0,0,41,3, + 114,41,0,0,0,218,8,115,116,95,109,116,105,109,101,90, + 7,115,116,95,115,105,122,101,41,3,114,104,0,0,0,114, + 37,0,0,0,114,213,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,199,0,0,0,151,3,0, + 0,115,4,0,0,0,0,2,8,1,122,27,83,111,117,114, + 99,101,70,105,108,101,76,111,97,100,101,114,46,112,97,116, + 104,95,115,116,97,116,115,99,4,0,0,0,0,0,0,0, + 5,0,0,0,5,0,0,0,67,0,0,0,115,24,0,0, + 0,116,0,124,1,131,1,125,4,124,0,106,1,124,2,124, + 3,124,4,100,1,141,3,83,0,41,2,78,41,1,218,5, + 95,109,111,100,101,41,2,114,101,0,0,0,114,200,0,0, + 0,41,5,114,104,0,0,0,114,94,0,0,0,114,93,0, + 0,0,114,56,0,0,0,114,44,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,6,0,0,0,114,201,0,0,0, + 156,3,0,0,115,4,0,0,0,0,2,8,1,122,32,83, + 111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,46, + 95,99,97,99,104,101,95,98,121,116,101,99,111,100,101,105, + 182,1,0,0,41,1,114,224,0,0,0,99,3,0,0,0, + 1,0,0,0,9,0,0,0,18,0,0,0,67,0,0,0, + 115,248,0,0,0,116,0,124,1,131,1,92,2,125,4,125, + 5,103,0,125,6,120,38,124,4,114,54,116,1,124,4,131, + 1,115,54,116,0,124,4,131,1,92,2,125,4,125,7,124, + 6,160,2,124,7,161,1,1,0,113,18,87,0,120,108,116, + 3,124,6,131,1,68,0,93,96,125,7,116,4,124,4,124, + 7,131,2,125,4,121,14,116,5,160,6,124,4,161,1,1, + 0,87,0,113,66,4,0,116,7,107,10,114,116,1,0,1, + 0,1,0,119,66,89,0,113,66,4,0,116,8,107,10,114, + 160,1,0,125,8,1,0,122,18,116,9,160,10,100,1,124, + 4,124,8,161,3,1,0,100,2,83,0,100,2,125,8,126, + 8,88,0,113,66,88,0,113,66,87,0,121,28,116,11,124, + 1,124,2,124,3,131,3,1,0,116,9,160,10,100,3,124, + 1,161,2,1,0,87,0,110,48,4,0,116,8,107,10,114, + 242,1,0,125,8,1,0,122,20,116,9,160,10,100,1,124, + 1,124,8,161,3,1,0,87,0,89,0,100,2,100,2,125, + 8,126,8,88,0,110,2,88,0,100,2,83,0,41,4,122, + 27,87,114,105,116,101,32,98,121,116,101,115,32,100,97,116, + 97,32,116,111,32,97,32,102,105,108,101,46,122,27,99,111, + 117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,123, + 33,114,125,58,32,123,33,114,125,78,122,12,99,114,101,97, + 116,101,100,32,123,33,114,125,41,12,114,40,0,0,0,114, + 48,0,0,0,114,167,0,0,0,114,35,0,0,0,114,30, + 0,0,0,114,3,0,0,0,90,5,109,107,100,105,114,218, + 15,70,105,108,101,69,120,105,115,116,115,69,114,114,111,114, + 114,42,0,0,0,114,118,0,0,0,114,132,0,0,0,114, + 58,0,0,0,41,9,114,104,0,0,0,114,37,0,0,0, + 114,56,0,0,0,114,224,0,0,0,218,6,112,97,114,101, + 110,116,114,98,0,0,0,114,29,0,0,0,114,25,0,0, + 0,114,203,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,114,200,0,0,0,161,3,0,0,115,42, + 0,0,0,0,2,12,1,4,2,14,1,12,1,14,2,14, + 1,10,1,2,1,14,1,14,2,6,1,16,3,6,1,8, + 1,20,1,2,1,12,1,16,1,16,2,8,1,122,25,83, + 111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,46, + 115,101,116,95,100,97,116,97,78,41,7,114,109,0,0,0, + 114,108,0,0,0,114,110,0,0,0,114,111,0,0,0,114, + 199,0,0,0,114,201,0,0,0,114,200,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, + 0,0,114,222,0,0,0,147,3,0,0,115,6,0,0,0, + 12,4,8,5,8,5,114,222,0,0,0,99,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0, + 115,32,0,0,0,101,0,90,1,100,0,90,2,100,1,90, + 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, + 5,100,6,83,0,41,7,218,20,83,111,117,114,99,101,108, + 101,115,115,70,105,108,101,76,111,97,100,101,114,122,45,76, + 111,97,100,101,114,32,119,104,105,99,104,32,104,97,110,100, + 108,101,115,32,115,111,117,114,99,101,108,101,115,115,32,102, + 105,108,101,32,105,109,112,111,114,116,115,46,99,2,0,0, + 0,0,0,0,0,5,0,0,0,5,0,0,0,67,0,0, + 0,115,68,0,0,0,124,0,160,0,124,1,161,1,125,2, + 124,0,160,1,124,2,161,1,125,3,124,1,124,2,100,1, + 156,2,125,4,116,2,124,3,124,1,124,4,131,3,1,0, + 116,3,116,4,124,3,131,1,100,2,100,0,133,2,25,0, + 124,1,124,2,100,3,141,3,83,0,41,4,78,41,2,114, + 102,0,0,0,114,37,0,0,0,114,128,0,0,0,41,2, + 114,102,0,0,0,114,93,0,0,0,41,5,114,161,0,0, + 0,114,202,0,0,0,114,135,0,0,0,114,147,0,0,0, + 114,210,0,0,0,41,5,114,104,0,0,0,114,123,0,0, + 0,114,37,0,0,0,114,56,0,0,0,114,134,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,114, + 190,0,0,0,196,3,0,0,115,18,0,0,0,0,1,10, + 1,10,4,2,1,8,2,12,1,2,1,14,1,2,1,122, + 29,83,111,117,114,99,101,108,101,115,115,70,105,108,101,76, + 111,97,100,101,114,46,103,101,116,95,99,111,100,101,99,2, + 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67, + 0,0,0,115,4,0,0,0,100,1,83,0,41,2,122,39, + 82,101,116,117,114,110,32,78,111,110,101,32,97,115,32,116, + 104,101,114,101,32,105,115,32,110,111,32,115,111,117,114,99, + 101,32,99,111,100,101,46,78,114,4,0,0,0,41,2,114, + 104,0,0,0,114,123,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,204,0,0,0,212,3,0, + 0,115,2,0,0,0,0,2,122,31,83,111,117,114,99,101, + 108,101,115,115,70,105,108,101,76,111,97,100,101,114,46,103, + 101,116,95,115,111,117,114,99,101,78,41,6,114,109,0,0, + 0,114,108,0,0,0,114,110,0,0,0,114,111,0,0,0, + 114,190,0,0,0,114,204,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,227, + 0,0,0,192,3,0,0,115,4,0,0,0,12,4,8,16, + 114,227,0,0,0,99,0,0,0,0,0,0,0,0,0,0, + 0,0,3,0,0,0,64,0,0,0,115,92,0,0,0,101, + 0,90,1,100,0,90,2,100,1,90,3,100,2,100,3,132, + 0,90,4,100,4,100,5,132,0,90,5,100,6,100,7,132, + 0,90,6,100,8,100,9,132,0,90,7,100,10,100,11,132, + 0,90,8,100,12,100,13,132,0,90,9,100,14,100,15,132, + 0,90,10,100,16,100,17,132,0,90,11,101,12,100,18,100, + 19,132,0,131,1,90,13,100,20,83,0,41,21,218,19,69, + 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, + 101,114,122,93,76,111,97,100,101,114,32,102,111,114,32,101, + 120,116,101,110,115,105,111,110,32,109,111,100,117,108,101,115, + 46,10,10,32,32,32,32,84,104,101,32,99,111,110,115,116, + 114,117,99,116,111,114,32,105,115,32,100,101,115,105,103,110, + 101,100,32,116,111,32,119,111,114,107,32,119,105,116,104,32, + 70,105,108,101,70,105,110,100,101,114,46,10,10,32,32,32, + 32,99,3,0,0,0,0,0,0,0,3,0,0,0,2,0, + 0,0,67,0,0,0,115,16,0,0,0,124,1,124,0,95, + 0,124,2,124,0,95,1,100,0,83,0,41,1,78,41,2, + 114,102,0,0,0,114,37,0,0,0,41,3,114,104,0,0, + 0,114,102,0,0,0,114,37,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,114,188,0,0,0,229, + 3,0,0,115,4,0,0,0,0,1,6,1,122,28,69,120, + 116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,101, + 114,46,95,95,105,110,105,116,95,95,99,2,0,0,0,0, + 0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115, + 24,0,0,0,124,0,106,0,124,1,106,0,107,2,111,22, + 124,0,106,1,124,1,106,1,107,2,83,0,41,1,78,41, + 2,114,215,0,0,0,114,115,0,0,0,41,2,114,104,0, + 0,0,114,216,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,114,217,0,0,0,233,3,0,0,115, + 4,0,0,0,0,1,12,1,122,26,69,120,116,101,110,115, + 105,111,110,70,105,108,101,76,111,97,100,101,114,46,95,95, + 101,113,95,95,99,1,0,0,0,0,0,0,0,1,0,0, + 0,3,0,0,0,67,0,0,0,115,20,0,0,0,116,0, + 124,0,106,1,131,1,116,0,124,0,106,2,131,1,65,0, + 83,0,41,1,78,41,3,114,218,0,0,0,114,102,0,0, + 0,114,37,0,0,0,41,1,114,104,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,6,0,0,0,114,219,0,0, + 0,237,3,0,0,115,2,0,0,0,0,1,122,28,69,120, + 116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,101, 114,46,95,95,104,97,115,104,95,95,99,2,0,0,0,0, - 0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,115, - 16,0,0,0,116,0,116,1,124,0,131,2,160,2,124,1, - 161,1,83,0,41,1,122,100,76,111,97,100,32,97,32,109, - 111,100,117,108,101,32,102,114,111,109,32,97,32,102,105,108, - 101,46,10,10,32,32,32,32,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,101,120,101,99, - 95,109,111,100,117,108,101,40,41,32,105,110,115,116,101,97, - 100,46,10,10,32,32,32,32,32,32,32,32,41,3,218,5, - 115,117,112,101,114,114,206,0,0,0,114,190,0,0,0,41, - 2,114,104,0,0,0,114,123,0,0,0,41,1,114,207,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,190,0,0, - 0,47,3,0,0,115,2,0,0,0,0,10,122,22,70,105, - 108,101,76,111,97,100,101,114,46,108,111,97,100,95,109,111, - 100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,0, + 0,0,0,3,0,0,0,5,0,0,0,67,0,0,0,115, + 36,0,0,0,116,0,160,1,116,2,106,3,124,1,161,2, + 125,2,116,0,160,4,100,1,124,1,106,5,124,0,106,6, + 161,3,1,0,124,2,83,0,41,2,122,38,67,114,101,97, + 116,101,32,97,110,32,117,110,105,116,105,97,108,105,122,101, + 100,32,101,120,116,101,110,115,105,111,110,32,109,111,100,117, + 108,101,122,38,101,120,116,101,110,115,105,111,110,32,109,111, + 100,117,108,101,32,123,33,114,125,32,108,111,97,100,101,100, + 32,102,114,111,109,32,123,33,114,125,41,7,114,118,0,0, + 0,114,191,0,0,0,114,145,0,0,0,90,14,99,114,101, + 97,116,101,95,100,121,110,97,109,105,99,114,132,0,0,0, + 114,102,0,0,0,114,37,0,0,0,41,3,114,104,0,0, + 0,114,168,0,0,0,114,193,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,114,189,0,0,0,240, + 3,0,0,115,10,0,0,0,0,2,4,1,10,1,6,1, + 12,1,122,33,69,120,116,101,110,115,105,111,110,70,105,108, + 101,76,111,97,100,101,114,46,99,114,101,97,116,101,95,109, + 111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0, + 0,0,5,0,0,0,67,0,0,0,115,36,0,0,0,116, + 0,160,1,116,2,106,3,124,1,161,2,1,0,116,0,160, + 4,100,1,124,0,106,5,124,0,106,6,161,3,1,0,100, + 2,83,0,41,3,122,30,73,110,105,116,105,97,108,105,122, + 101,32,97,110,32,101,120,116,101,110,115,105,111,110,32,109, + 111,100,117,108,101,122,40,101,120,116,101,110,115,105,111,110, + 32,109,111,100,117,108,101,32,123,33,114,125,32,101,120,101, + 99,117,116,101,100,32,102,114,111,109,32,123,33,114,125,78, + 41,7,114,118,0,0,0,114,191,0,0,0,114,145,0,0, + 0,90,12,101,120,101,99,95,100,121,110,97,109,105,99,114, + 132,0,0,0,114,102,0,0,0,114,37,0,0,0,41,2, + 114,104,0,0,0,114,193,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,114,194,0,0,0,248,3, + 0,0,115,6,0,0,0,0,2,14,1,6,1,122,31,69, + 120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100, + 101,114,46,101,120,101,99,95,109,111,100,117,108,101,99,2, + 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,3, + 0,0,0,115,36,0,0,0,116,0,124,0,106,1,131,1, + 100,1,25,0,137,0,116,2,135,0,102,1,100,2,100,3, + 132,8,116,3,68,0,131,1,131,1,83,0,41,4,122,49, + 82,101,116,117,114,110,32,84,114,117,101,32,105,102,32,116, + 104,101,32,101,120,116,101,110,115,105,111,110,32,109,111,100, + 117,108,101,32,105,115,32,97,32,112,97,99,107,97,103,101, + 46,114,31,0,0,0,99,1,0,0,0,0,0,0,0,2, + 0,0,0,4,0,0,0,51,0,0,0,115,26,0,0,0, + 124,0,93,18,125,1,136,0,100,0,124,1,23,0,107,2, + 86,0,1,0,113,2,100,1,83,0,41,2,114,188,0,0, + 0,78,114,4,0,0,0,41,2,114,24,0,0,0,218,6, + 115,117,102,102,105,120,41,1,218,9,102,105,108,101,95,110, + 97,109,101,114,4,0,0,0,114,6,0,0,0,250,9,60, + 103,101,110,101,120,112,114,62,1,4,0,0,115,2,0,0, + 0,4,1,122,49,69,120,116,101,110,115,105,111,110,70,105, + 108,101,76,111,97,100,101,114,46,105,115,95,112,97,99,107, + 97,103,101,46,60,108,111,99,97,108,115,62,46,60,103,101, + 110,101,120,112,114,62,41,4,114,40,0,0,0,114,37,0, + 0,0,218,3,97,110,121,218,18,69,88,84,69,78,83,73, + 79,78,95,83,85,70,70,73,88,69,83,41,2,114,104,0, + 0,0,114,123,0,0,0,114,4,0,0,0,41,1,114,230, + 0,0,0,114,6,0,0,0,114,163,0,0,0,254,3,0, + 0,115,6,0,0,0,0,2,14,1,12,1,122,30,69,120, + 116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,101, + 114,46,105,115,95,112,97,99,107,97,103,101,99,2,0,0, + 0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0, + 0,115,4,0,0,0,100,1,83,0,41,2,122,63,82,101, + 116,117,114,110,32,78,111,110,101,32,97,115,32,97,110,32, + 101,120,116,101,110,115,105,111,110,32,109,111,100,117,108,101, + 32,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97, + 32,99,111,100,101,32,111,98,106,101,99,116,46,78,114,4, + 0,0,0,41,2,114,104,0,0,0,114,123,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,190, + 0,0,0,4,4,0,0,115,2,0,0,0,0,2,122,28, + 69,120,116,101,110,115,105,111,110,70,105,108,101,76,111,97, + 100,101,114,46,103,101,116,95,99,111,100,101,99,2,0,0, + 0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0, + 0,115,4,0,0,0,100,1,83,0,41,2,122,53,82,101, + 116,117,114,110,32,78,111,110,101,32,97,115,32,101,120,116, + 101,110,115,105,111,110,32,109,111,100,117,108,101,115,32,104, + 97,118,101,32,110,111,32,115,111,117,114,99,101,32,99,111, + 100,101,46,78,114,4,0,0,0,41,2,114,104,0,0,0, + 114,123,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 6,0,0,0,114,204,0,0,0,8,4,0,0,115,2,0, + 0,0,0,2,122,30,69,120,116,101,110,115,105,111,110,70, + 105,108,101,76,111,97,100,101,114,46,103,101,116,95,115,111, + 117,114,99,101,99,2,0,0,0,0,0,0,0,2,0,0, 0,1,0,0,0,67,0,0,0,115,6,0,0,0,124,0, 106,0,83,0,41,1,122,58,82,101,116,117,114,110,32,116, 104,101,32,112,97,116,104,32,116,111,32,116,104,101,32,115, @@ -1268,1162 +1661,899 @@ const unsigned char _Py_M__importlib_external[] = { 117,110,100,32,98,121,32,116,104,101,32,102,105,110,100,101, 114,46,41,1,114,37,0,0,0,41,2,114,104,0,0,0, 114,123,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,114,155,0,0,0,59,3,0,0,115,2,0, - 0,0,0,3,122,23,70,105,108,101,76,111,97,100,101,114, - 46,103,101,116,95,102,105,108,101,110,97,109,101,99,2,0, - 0,0,0,0,0,0,3,0,0,0,9,0,0,0,67,0, - 0,0,115,32,0,0,0,116,0,160,1,124,1,100,1,161, - 2,143,10,125,2,124,2,160,2,161,0,83,0,81,0,82, - 0,88,0,100,2,83,0,41,3,122,39,82,101,116,117,114, - 110,32,116,104,101,32,100,97,116,97,32,102,114,111,109,32, - 112,97,116,104,32,97,115,32,114,97,119,32,98,121,116,101, - 115,46,218,1,114,78,41,3,114,52,0,0,0,114,53,0, - 0,0,90,4,114,101,97,100,41,3,114,104,0,0,0,114, - 37,0,0,0,114,57,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,114,196,0,0,0,64,3,0, - 0,115,4,0,0,0,0,2,14,1,122,19,70,105,108,101, - 76,111,97,100,101,114,46,103,101,116,95,100,97,116,97,41, - 12,114,109,0,0,0,114,108,0,0,0,114,110,0,0,0, - 114,111,0,0,0,114,182,0,0,0,114,209,0,0,0,114, - 211,0,0,0,114,120,0,0,0,114,190,0,0,0,114,155, - 0,0,0,114,196,0,0,0,90,13,95,95,99,108,97,115, - 115,99,101,108,108,95,95,114,4,0,0,0,114,4,0,0, - 0,41,1,114,207,0,0,0,114,6,0,0,0,114,206,0, - 0,0,29,3,0,0,115,12,0,0,0,12,5,8,6,8, - 4,8,3,16,12,12,5,114,206,0,0,0,99,0,0,0, - 0,0,0,0,0,0,0,0,0,3,0,0,0,64,0,0, - 0,115,46,0,0,0,101,0,90,1,100,0,90,2,100,1, - 90,3,100,2,100,3,132,0,90,4,100,4,100,5,132,0, - 90,5,100,6,100,7,156,1,100,8,100,9,132,2,90,6, - 100,10,83,0,41,11,218,16,83,111,117,114,99,101,70,105, - 108,101,76,111,97,100,101,114,122,62,67,111,110,99,114,101, - 116,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111, - 110,32,111,102,32,83,111,117,114,99,101,76,111,97,100,101, - 114,32,117,115,105,110,103,32,116,104,101,32,102,105,108,101, - 32,115,121,115,116,101,109,46,99,2,0,0,0,0,0,0, - 0,3,0,0,0,3,0,0,0,67,0,0,0,115,22,0, - 0,0,116,0,124,1,131,1,125,2,124,2,106,1,124,2, - 106,2,100,1,156,2,83,0,41,2,122,33,82,101,116,117, - 114,110,32,116,104,101,32,109,101,116,97,100,97,116,97,32, - 102,111,114,32,116,104,101,32,112,97,116,104,46,41,2,114, - 130,0,0,0,114,131,0,0,0,41,3,114,41,0,0,0, - 218,8,115,116,95,109,116,105,109,101,90,7,115,116,95,115, - 105,122,101,41,3,114,104,0,0,0,114,37,0,0,0,114, - 204,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, - 0,0,0,114,193,0,0,0,74,3,0,0,115,4,0,0, - 0,0,2,8,1,122,27,83,111,117,114,99,101,70,105,108, - 101,76,111,97,100,101,114,46,112,97,116,104,95,115,116,97, - 116,115,99,4,0,0,0,0,0,0,0,5,0,0,0,5, - 0,0,0,67,0,0,0,115,24,0,0,0,116,0,124,1, - 131,1,125,4,124,0,106,1,124,2,124,3,124,4,100,1, - 141,3,83,0,41,2,78,41,1,218,5,95,109,111,100,101, - 41,2,114,101,0,0,0,114,194,0,0,0,41,5,114,104, - 0,0,0,114,94,0,0,0,114,93,0,0,0,114,56,0, - 0,0,114,44,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,114,195,0,0,0,79,3,0,0,115, - 4,0,0,0,0,2,8,1,122,32,83,111,117,114,99,101, - 70,105,108,101,76,111,97,100,101,114,46,95,99,97,99,104, - 101,95,98,121,116,101,99,111,100,101,105,182,1,0,0,41, - 1,114,216,0,0,0,99,3,0,0,0,1,0,0,0,9, - 0,0,0,18,0,0,0,67,0,0,0,115,248,0,0,0, - 116,0,124,1,131,1,92,2,125,4,125,5,103,0,125,6, - 120,38,124,4,114,54,116,1,124,4,131,1,115,54,116,0, - 124,4,131,1,92,2,125,4,125,7,124,6,160,2,124,7, - 161,1,1,0,113,18,87,0,120,108,116,3,124,6,131,1, - 68,0,93,96,125,7,116,4,124,4,124,7,131,2,125,4, - 121,14,116,5,160,6,124,4,161,1,1,0,87,0,113,66, - 4,0,116,7,107,10,114,116,1,0,1,0,1,0,119,66, - 89,0,113,66,4,0,116,8,107,10,114,160,1,0,125,8, - 1,0,122,18,116,9,160,10,100,1,124,4,124,8,161,3, - 1,0,100,2,83,0,100,2,125,8,126,8,88,0,113,66, - 88,0,113,66,87,0,121,28,116,11,124,1,124,2,124,3, - 131,3,1,0,116,9,160,10,100,3,124,1,161,2,1,0, - 87,0,110,48,4,0,116,8,107,10,114,242,1,0,125,8, - 1,0,122,20,116,9,160,10,100,1,124,1,124,8,161,3, - 1,0,87,0,89,0,100,2,100,2,125,8,126,8,88,0, - 110,2,88,0,100,2,83,0,41,4,122,27,87,114,105,116, - 101,32,98,121,116,101,115,32,100,97,116,97,32,116,111,32, - 97,32,102,105,108,101,46,122,27,99,111,117,108,100,32,110, - 111,116,32,99,114,101,97,116,101,32,123,33,114,125,58,32, - 123,33,114,125,78,122,12,99,114,101,97,116,101,100,32,123, - 33,114,125,41,12,114,40,0,0,0,114,48,0,0,0,114, - 161,0,0,0,114,35,0,0,0,114,30,0,0,0,114,3, - 0,0,0,90,5,109,107,100,105,114,218,15,70,105,108,101, - 69,120,105,115,116,115,69,114,114,111,114,114,42,0,0,0, - 114,118,0,0,0,114,133,0,0,0,114,58,0,0,0,41, - 9,114,104,0,0,0,114,37,0,0,0,114,56,0,0,0, - 114,216,0,0,0,218,6,112,97,114,101,110,116,114,98,0, - 0,0,114,29,0,0,0,114,25,0,0,0,114,197,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, - 114,194,0,0,0,84,3,0,0,115,42,0,0,0,0,2, - 12,1,4,2,14,1,12,1,14,2,14,1,10,1,2,1, - 14,1,14,2,6,1,16,3,6,1,8,1,20,1,2,1, - 12,1,16,1,16,2,8,1,122,25,83,111,117,114,99,101, - 70,105,108,101,76,111,97,100,101,114,46,115,101,116,95,100, - 97,116,97,78,41,7,114,109,0,0,0,114,108,0,0,0, - 114,110,0,0,0,114,111,0,0,0,114,193,0,0,0,114, - 195,0,0,0,114,194,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,4,0,0,0,114,6,0,0,0,114,214,0, - 0,0,70,3,0,0,115,6,0,0,0,12,4,8,5,8, - 5,114,214,0,0,0,99,0,0,0,0,0,0,0,0,0, - 0,0,0,2,0,0,0,64,0,0,0,115,32,0,0,0, - 101,0,90,1,100,0,90,2,100,1,90,3,100,2,100,3, - 132,0,90,4,100,4,100,5,132,0,90,5,100,6,83,0, - 41,7,218,20,83,111,117,114,99,101,108,101,115,115,70,105, - 108,101,76,111,97,100,101,114,122,45,76,111,97,100,101,114, - 32,119,104,105,99,104,32,104,97,110,100,108,101,115,32,115, - 111,117,114,99,101,108,101,115,115,32,102,105,108,101,32,105, - 109,112,111,114,116,115,46,99,2,0,0,0,0,0,0,0, - 5,0,0,0,5,0,0,0,67,0,0,0,115,48,0,0, - 0,124,0,160,0,124,1,161,1,125,2,124,0,160,1,124, - 2,161,1,125,3,116,2,124,3,124,1,124,2,100,1,141, - 3,125,4,116,3,124,4,124,1,124,2,100,2,141,3,83, - 0,41,3,78,41,2,114,102,0,0,0,114,37,0,0,0, - 41,2,114,102,0,0,0,114,93,0,0,0,41,4,114,155, - 0,0,0,114,196,0,0,0,114,139,0,0,0,114,145,0, - 0,0,41,5,114,104,0,0,0,114,123,0,0,0,114,37, - 0,0,0,114,56,0,0,0,114,205,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,184,0,0, - 0,119,3,0,0,115,8,0,0,0,0,1,10,1,10,1, - 14,1,122,29,83,111,117,114,99,101,108,101,115,115,70,105, - 108,101,76,111,97,100,101,114,46,103,101,116,95,99,111,100, - 101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,0, - 0,0,67,0,0,0,115,4,0,0,0,100,1,83,0,41, - 2,122,39,82,101,116,117,114,110,32,78,111,110,101,32,97, - 115,32,116,104,101,114,101,32,105,115,32,110,111,32,115,111, - 117,114,99,101,32,99,111,100,101,46,78,114,4,0,0,0, - 41,2,114,104,0,0,0,114,123,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,114,198,0,0,0, - 125,3,0,0,115,2,0,0,0,0,2,122,31,83,111,117, - 114,99,101,108,101,115,115,70,105,108,101,76,111,97,100,101, - 114,46,103,101,116,95,115,111,117,114,99,101,78,41,6,114, - 109,0,0,0,114,108,0,0,0,114,110,0,0,0,114,111, - 0,0,0,114,184,0,0,0,114,198,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,114,219,0,0,0,115,3,0,0,115,4,0,0,0,12, - 4,8,6,114,219,0,0,0,99,0,0,0,0,0,0,0, - 0,0,0,0,0,3,0,0,0,64,0,0,0,115,92,0, + 6,0,0,0,114,161,0,0,0,12,4,0,0,115,2,0, + 0,0,0,3,122,32,69,120,116,101,110,115,105,111,110,70, + 105,108,101,76,111,97,100,101,114,46,103,101,116,95,102,105, + 108,101,110,97,109,101,78,41,14,114,109,0,0,0,114,108, + 0,0,0,114,110,0,0,0,114,111,0,0,0,114,188,0, + 0,0,114,217,0,0,0,114,219,0,0,0,114,189,0,0, + 0,114,194,0,0,0,114,163,0,0,0,114,190,0,0,0, + 114,204,0,0,0,114,120,0,0,0,114,161,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,114,228,0,0,0,221,3,0,0,115,18,0,0, + 0,12,8,8,4,8,4,8,3,8,8,8,6,8,6,8, + 4,8,4,114,228,0,0,0,99,0,0,0,0,0,0,0, + 0,0,0,0,0,2,0,0,0,64,0,0,0,115,96,0, 0,0,101,0,90,1,100,0,90,2,100,1,90,3,100,2, 100,3,132,0,90,4,100,4,100,5,132,0,90,5,100,6, 100,7,132,0,90,6,100,8,100,9,132,0,90,7,100,10, 100,11,132,0,90,8,100,12,100,13,132,0,90,9,100,14, - 100,15,132,0,90,10,100,16,100,17,132,0,90,11,101,12, - 100,18,100,19,132,0,131,1,90,13,100,20,83,0,41,21, - 218,19,69,120,116,101,110,115,105,111,110,70,105,108,101,76, - 111,97,100,101,114,122,93,76,111,97,100,101,114,32,102,111, - 114,32,101,120,116,101,110,115,105,111,110,32,109,111,100,117, - 108,101,115,46,10,10,32,32,32,32,84,104,101,32,99,111, - 110,115,116,114,117,99,116,111,114,32,105,115,32,100,101,115, - 105,103,110,101,100,32,116,111,32,119,111,114,107,32,119,105, - 116,104,32,70,105,108,101,70,105,110,100,101,114,46,10,10, - 32,32,32,32,99,3,0,0,0,0,0,0,0,3,0,0, - 0,2,0,0,0,67,0,0,0,115,16,0,0,0,124,1, - 124,0,95,0,124,2,124,0,95,1,100,0,83,0,41,1, - 78,41,2,114,102,0,0,0,114,37,0,0,0,41,3,114, - 104,0,0,0,114,102,0,0,0,114,37,0,0,0,114,4, - 0,0,0,114,4,0,0,0,114,6,0,0,0,114,182,0, - 0,0,142,3,0,0,115,4,0,0,0,0,1,6,1,122, - 28,69,120,116,101,110,115,105,111,110,70,105,108,101,76,111, - 97,100,101,114,46,95,95,105,110,105,116,95,95,99,2,0, - 0,0,0,0,0,0,2,0,0,0,2,0,0,0,67,0, - 0,0,115,24,0,0,0,124,0,106,0,124,1,106,0,107, - 2,111,22,124,0,106,1,124,1,106,1,107,2,83,0,41, - 1,78,41,2,114,207,0,0,0,114,115,0,0,0,41,2, - 114,104,0,0,0,114,208,0,0,0,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,114,209,0,0,0,146,3, - 0,0,115,4,0,0,0,0,1,12,1,122,26,69,120,116, - 101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114, - 46,95,95,101,113,95,95,99,1,0,0,0,0,0,0,0, - 1,0,0,0,3,0,0,0,67,0,0,0,115,20,0,0, - 0,116,0,124,0,106,1,131,1,116,0,124,0,106,2,131, - 1,65,0,83,0,41,1,78,41,3,114,210,0,0,0,114, - 102,0,0,0,114,37,0,0,0,41,1,114,104,0,0,0, + 100,15,132,0,90,10,100,16,100,17,132,0,90,11,100,18, + 100,19,132,0,90,12,100,20,100,21,132,0,90,13,100,22, + 83,0,41,23,218,14,95,78,97,109,101,115,112,97,99,101, + 80,97,116,104,97,38,1,0,0,82,101,112,114,101,115,101, + 110,116,115,32,97,32,110,97,109,101,115,112,97,99,101,32, + 112,97,99,107,97,103,101,39,115,32,112,97,116,104,46,32, + 32,73,116,32,117,115,101,115,32,116,104,101,32,109,111,100, + 117,108,101,32,110,97,109,101,10,32,32,32,32,116,111,32, + 102,105,110,100,32,105,116,115,32,112,97,114,101,110,116,32, + 109,111,100,117,108,101,44,32,97,110,100,32,102,114,111,109, + 32,116,104,101,114,101,32,105,116,32,108,111,111,107,115,32, + 117,112,32,116,104,101,32,112,97,114,101,110,116,39,115,10, + 32,32,32,32,95,95,112,97,116,104,95,95,46,32,32,87, + 104,101,110,32,116,104,105,115,32,99,104,97,110,103,101,115, + 44,32,116,104,101,32,109,111,100,117,108,101,39,115,32,111, + 119,110,32,112,97,116,104,32,105,115,32,114,101,99,111,109, + 112,117,116,101,100,44,10,32,32,32,32,117,115,105,110,103, + 32,112,97,116,104,95,102,105,110,100,101,114,46,32,32,70, + 111,114,32,116,111,112,45,108,101,118,101,108,32,109,111,100, + 117,108,101,115,44,32,116,104,101,32,112,97,114,101,110,116, + 32,109,111,100,117,108,101,39,115,32,112,97,116,104,10,32, + 32,32,32,105,115,32,115,121,115,46,112,97,116,104,46,99, + 4,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0, + 67,0,0,0,115,36,0,0,0,124,1,124,0,95,0,124, + 2,124,0,95,1,116,2,124,0,160,3,161,0,131,1,124, + 0,95,4,124,3,124,0,95,5,100,0,83,0,41,1,78, + 41,6,218,5,95,110,97,109,101,218,5,95,112,97,116,104, + 114,97,0,0,0,218,16,95,103,101,116,95,112,97,114,101, + 110,116,95,112,97,116,104,218,17,95,108,97,115,116,95,112, + 97,114,101,110,116,95,112,97,116,104,218,12,95,112,97,116, + 104,95,102,105,110,100,101,114,41,4,114,104,0,0,0,114, + 102,0,0,0,114,37,0,0,0,218,11,112,97,116,104,95, + 102,105,110,100,101,114,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,114,188,0,0,0,25,4,0,0,115,8, + 0,0,0,0,1,6,1,6,1,14,1,122,23,95,78,97, + 109,101,115,112,97,99,101,80,97,116,104,46,95,95,105,110, + 105,116,95,95,99,1,0,0,0,0,0,0,0,4,0,0, + 0,3,0,0,0,67,0,0,0,115,38,0,0,0,124,0, + 106,0,160,1,100,1,161,1,92,3,125,1,125,2,125,3, + 124,2,100,2,107,2,114,30,100,6,83,0,124,1,100,5, + 102,2,83,0,41,7,122,62,82,101,116,117,114,110,115,32, + 97,32,116,117,112,108,101,32,111,102,32,40,112,97,114,101, + 110,116,45,109,111,100,117,108,101,45,110,97,109,101,44,32, + 112,97,114,101,110,116,45,112,97,116,104,45,97,116,116,114, + 45,110,97,109,101,41,114,61,0,0,0,114,32,0,0,0, + 114,8,0,0,0,114,37,0,0,0,90,8,95,95,112,97, + 116,104,95,95,41,2,114,8,0,0,0,114,37,0,0,0, + 41,2,114,235,0,0,0,114,34,0,0,0,41,4,114,104, + 0,0,0,114,226,0,0,0,218,3,100,111,116,90,2,109, + 101,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 218,23,95,102,105,110,100,95,112,97,114,101,110,116,95,112, + 97,116,104,95,110,97,109,101,115,31,4,0,0,115,8,0, + 0,0,0,2,18,1,8,2,4,3,122,38,95,78,97,109, + 101,115,112,97,99,101,80,97,116,104,46,95,102,105,110,100, + 95,112,97,114,101,110,116,95,112,97,116,104,95,110,97,109, + 101,115,99,1,0,0,0,0,0,0,0,3,0,0,0,3, + 0,0,0,67,0,0,0,115,28,0,0,0,124,0,160,0, + 161,0,92,2,125,1,125,2,116,1,116,2,106,3,124,1, + 25,0,124,2,131,2,83,0,41,1,78,41,4,114,242,0, + 0,0,114,114,0,0,0,114,8,0,0,0,218,7,109,111, + 100,117,108,101,115,41,3,114,104,0,0,0,90,18,112,97, + 114,101,110,116,95,109,111,100,117,108,101,95,110,97,109,101, + 90,14,112,97,116,104,95,97,116,116,114,95,110,97,109,101, 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,114, - 211,0,0,0,150,3,0,0,115,2,0,0,0,0,1,122, - 28,69,120,116,101,110,115,105,111,110,70,105,108,101,76,111, - 97,100,101,114,46,95,95,104,97,115,104,95,95,99,2,0, - 0,0,0,0,0,0,3,0,0,0,5,0,0,0,67,0, - 0,0,115,36,0,0,0,116,0,160,1,116,2,106,3,124, - 1,161,2,125,2,116,0,160,4,100,1,124,1,106,5,124, - 0,106,6,161,3,1,0,124,2,83,0,41,2,122,38,67, - 114,101,97,116,101,32,97,110,32,117,110,105,116,105,97,108, - 105,122,101,100,32,101,120,116,101,110,115,105,111,110,32,109, - 111,100,117,108,101,122,38,101,120,116,101,110,115,105,111,110, - 32,109,111,100,117,108,101,32,123,33,114,125,32,108,111,97, - 100,101,100,32,102,114,111,109,32,123,33,114,125,41,7,114, - 118,0,0,0,114,185,0,0,0,114,143,0,0,0,90,14, - 99,114,101,97,116,101,95,100,121,110,97,109,105,99,114,133, - 0,0,0,114,102,0,0,0,114,37,0,0,0,41,3,114, - 104,0,0,0,114,162,0,0,0,114,187,0,0,0,114,4, - 0,0,0,114,4,0,0,0,114,6,0,0,0,114,183,0, - 0,0,153,3,0,0,115,10,0,0,0,0,2,4,1,10, - 1,6,1,12,1,122,33,69,120,116,101,110,115,105,111,110, - 70,105,108,101,76,111,97,100,101,114,46,99,114,101,97,116, - 101,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0, - 0,2,0,0,0,5,0,0,0,67,0,0,0,115,36,0, - 0,0,116,0,160,1,116,2,106,3,124,1,161,2,1,0, - 116,0,160,4,100,1,124,0,106,5,124,0,106,6,161,3, - 1,0,100,2,83,0,41,3,122,30,73,110,105,116,105,97, - 108,105,122,101,32,97,110,32,101,120,116,101,110,115,105,111, - 110,32,109,111,100,117,108,101,122,40,101,120,116,101,110,115, - 105,111,110,32,109,111,100,117,108,101,32,123,33,114,125,32, - 101,120,101,99,117,116,101,100,32,102,114,111,109,32,123,33, - 114,125,78,41,7,114,118,0,0,0,114,185,0,0,0,114, - 143,0,0,0,90,12,101,120,101,99,95,100,121,110,97,109, - 105,99,114,133,0,0,0,114,102,0,0,0,114,37,0,0, - 0,41,2,114,104,0,0,0,114,187,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,188,0,0, - 0,161,3,0,0,115,6,0,0,0,0,2,14,1,6,1, - 122,31,69,120,116,101,110,115,105,111,110,70,105,108,101,76, - 111,97,100,101,114,46,101,120,101,99,95,109,111,100,117,108, - 101,99,2,0,0,0,0,0,0,0,2,0,0,0,4,0, - 0,0,3,0,0,0,115,36,0,0,0,116,0,124,0,106, - 1,131,1,100,1,25,0,137,0,116,2,135,0,102,1,100, - 2,100,3,132,8,116,3,68,0,131,1,131,1,83,0,41, - 4,122,49,82,101,116,117,114,110,32,84,114,117,101,32,105, - 102,32,116,104,101,32,101,120,116,101,110,115,105,111,110,32, - 109,111,100,117,108,101,32,105,115,32,97,32,112,97,99,107, - 97,103,101,46,114,31,0,0,0,99,1,0,0,0,0,0, - 0,0,2,0,0,0,4,0,0,0,51,0,0,0,115,26, - 0,0,0,124,0,93,18,125,1,136,0,100,0,124,1,23, - 0,107,2,86,0,1,0,113,2,100,1,83,0,41,2,114, - 182,0,0,0,78,114,4,0,0,0,41,2,114,24,0,0, - 0,218,6,115,117,102,102,105,120,41,1,218,9,102,105,108, - 101,95,110,97,109,101,114,4,0,0,0,114,6,0,0,0, - 250,9,60,103,101,110,101,120,112,114,62,170,3,0,0,115, - 2,0,0,0,4,1,122,49,69,120,116,101,110,115,105,111, - 110,70,105,108,101,76,111,97,100,101,114,46,105,115,95,112, - 97,99,107,97,103,101,46,60,108,111,99,97,108,115,62,46, - 60,103,101,110,101,120,112,114,62,41,4,114,40,0,0,0, - 114,37,0,0,0,218,3,97,110,121,218,18,69,88,84,69, - 78,83,73,79,78,95,83,85,70,70,73,88,69,83,41,2, - 114,104,0,0,0,114,123,0,0,0,114,4,0,0,0,41, - 1,114,222,0,0,0,114,6,0,0,0,114,157,0,0,0, - 167,3,0,0,115,6,0,0,0,0,2,14,1,12,1,122, - 30,69,120,116,101,110,115,105,111,110,70,105,108,101,76,111, - 97,100,101,114,46,105,115,95,112,97,99,107,97,103,101,99, - 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, - 67,0,0,0,115,4,0,0,0,100,1,83,0,41,2,122, - 63,82,101,116,117,114,110,32,78,111,110,101,32,97,115,32, - 97,110,32,101,120,116,101,110,115,105,111,110,32,109,111,100, - 117,108,101,32,99,97,110,110,111,116,32,99,114,101,97,116, - 101,32,97,32,99,111,100,101,32,111,98,106,101,99,116,46, - 78,114,4,0,0,0,41,2,114,104,0,0,0,114,123,0, + 237,0,0,0,41,4,0,0,115,4,0,0,0,0,1,12, + 1,122,31,95,78,97,109,101,115,112,97,99,101,80,97,116, + 104,46,95,103,101,116,95,112,97,114,101,110,116,95,112,97, + 116,104,99,1,0,0,0,0,0,0,0,3,0,0,0,4, + 0,0,0,67,0,0,0,115,80,0,0,0,116,0,124,0, + 160,1,161,0,131,1,125,1,124,1,124,0,106,2,107,3, + 114,74,124,0,160,3,124,0,106,4,124,1,161,2,125,2, + 124,2,100,0,107,9,114,68,124,2,106,5,100,0,107,8, + 114,68,124,2,106,6,114,68,124,2,106,6,124,0,95,7, + 124,1,124,0,95,2,124,0,106,7,83,0,41,1,78,41, + 8,114,97,0,0,0,114,237,0,0,0,114,238,0,0,0, + 114,239,0,0,0,114,235,0,0,0,114,124,0,0,0,114, + 160,0,0,0,114,236,0,0,0,41,3,114,104,0,0,0, + 90,11,112,97,114,101,110,116,95,112,97,116,104,114,168,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,114,184,0,0,0,173,3,0,0,115,2,0,0,0,0, - 2,122,28,69,120,116,101,110,115,105,111,110,70,105,108,101, - 76,111,97,100,101,114,46,103,101,116,95,99,111,100,101,99, - 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, - 67,0,0,0,115,4,0,0,0,100,1,83,0,41,2,122, - 53,82,101,116,117,114,110,32,78,111,110,101,32,97,115,32, - 101,120,116,101,110,115,105,111,110,32,109,111,100,117,108,101, - 115,32,104,97,118,101,32,110,111,32,115,111,117,114,99,101, - 32,99,111,100,101,46,78,114,4,0,0,0,41,2,114,104, - 0,0,0,114,123,0,0,0,114,4,0,0,0,114,4,0, - 0,0,114,6,0,0,0,114,198,0,0,0,177,3,0,0, - 115,2,0,0,0,0,2,122,30,69,120,116,101,110,115,105, - 111,110,70,105,108,101,76,111,97,100,101,114,46,103,101,116, - 95,115,111,117,114,99,101,99,2,0,0,0,0,0,0,0, - 2,0,0,0,1,0,0,0,67,0,0,0,115,6,0,0, - 0,124,0,106,0,83,0,41,1,122,58,82,101,116,117,114, - 110,32,116,104,101,32,112,97,116,104,32,116,111,32,116,104, - 101,32,115,111,117,114,99,101,32,102,105,108,101,32,97,115, - 32,102,111,117,110,100,32,98,121,32,116,104,101,32,102,105, - 110,100,101,114,46,41,1,114,37,0,0,0,41,2,114,104, - 0,0,0,114,123,0,0,0,114,4,0,0,0,114,4,0, - 0,0,114,6,0,0,0,114,155,0,0,0,181,3,0,0, - 115,2,0,0,0,0,3,122,32,69,120,116,101,110,115,105, - 111,110,70,105,108,101,76,111,97,100,101,114,46,103,101,116, - 95,102,105,108,101,110,97,109,101,78,41,14,114,109,0,0, - 0,114,108,0,0,0,114,110,0,0,0,114,111,0,0,0, - 114,182,0,0,0,114,209,0,0,0,114,211,0,0,0,114, - 183,0,0,0,114,188,0,0,0,114,157,0,0,0,114,184, - 0,0,0,114,198,0,0,0,114,120,0,0,0,114,155,0, - 0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,114,220,0,0,0,134,3,0,0,115, - 18,0,0,0,12,8,8,4,8,4,8,3,8,8,8,6, - 8,6,8,4,8,4,114,220,0,0,0,99,0,0,0,0, - 0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0, - 115,96,0,0,0,101,0,90,1,100,0,90,2,100,1,90, - 3,100,2,100,3,132,0,90,4,100,4,100,5,132,0,90, - 5,100,6,100,7,132,0,90,6,100,8,100,9,132,0,90, - 7,100,10,100,11,132,0,90,8,100,12,100,13,132,0,90, - 9,100,14,100,15,132,0,90,10,100,16,100,17,132,0,90, - 11,100,18,100,19,132,0,90,12,100,20,100,21,132,0,90, - 13,100,22,83,0,41,23,218,14,95,78,97,109,101,115,112, - 97,99,101,80,97,116,104,97,38,1,0,0,82,101,112,114, - 101,115,101,110,116,115,32,97,32,110,97,109,101,115,112,97, - 99,101,32,112,97,99,107,97,103,101,39,115,32,112,97,116, - 104,46,32,32,73,116,32,117,115,101,115,32,116,104,101,32, - 109,111,100,117,108,101,32,110,97,109,101,10,32,32,32,32, - 116,111,32,102,105,110,100,32,105,116,115,32,112,97,114,101, - 110,116,32,109,111,100,117,108,101,44,32,97,110,100,32,102, - 114,111,109,32,116,104,101,114,101,32,105,116,32,108,111,111, - 107,115,32,117,112,32,116,104,101,32,112,97,114,101,110,116, - 39,115,10,32,32,32,32,95,95,112,97,116,104,95,95,46, - 32,32,87,104,101,110,32,116,104,105,115,32,99,104,97,110, - 103,101,115,44,32,116,104,101,32,109,111,100,117,108,101,39, - 115,32,111,119,110,32,112,97,116,104,32,105,115,32,114,101, - 99,111,109,112,117,116,101,100,44,10,32,32,32,32,117,115, - 105,110,103,32,112,97,116,104,95,102,105,110,100,101,114,46, - 32,32,70,111,114,32,116,111,112,45,108,101,118,101,108,32, - 109,111,100,117,108,101,115,44,32,116,104,101,32,112,97,114, - 101,110,116,32,109,111,100,117,108,101,39,115,32,112,97,116, - 104,10,32,32,32,32,105,115,32,115,121,115,46,112,97,116, - 104,46,99,4,0,0,0,0,0,0,0,4,0,0,0,3, - 0,0,0,67,0,0,0,115,36,0,0,0,124,1,124,0, - 95,0,124,2,124,0,95,1,116,2,124,0,160,3,161,0, - 131,1,124,0,95,4,124,3,124,0,95,5,100,0,83,0, - 41,1,78,41,6,218,5,95,110,97,109,101,218,5,95,112, - 97,116,104,114,97,0,0,0,218,16,95,103,101,116,95,112, - 97,114,101,110,116,95,112,97,116,104,218,17,95,108,97,115, - 116,95,112,97,114,101,110,116,95,112,97,116,104,218,12,95, - 112,97,116,104,95,102,105,110,100,101,114,41,4,114,104,0, - 0,0,114,102,0,0,0,114,37,0,0,0,218,11,112,97, - 116,104,95,102,105,110,100,101,114,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,114,182,0,0,0,194,3,0, - 0,115,8,0,0,0,0,1,6,1,6,1,14,1,122,23, - 95,78,97,109,101,115,112,97,99,101,80,97,116,104,46,95, - 95,105,110,105,116,95,95,99,1,0,0,0,0,0,0,0, - 4,0,0,0,3,0,0,0,67,0,0,0,115,38,0,0, - 0,124,0,106,0,160,1,100,1,161,1,92,3,125,1,125, - 2,125,3,124,2,100,2,107,2,114,30,100,6,83,0,124, - 1,100,5,102,2,83,0,41,7,122,62,82,101,116,117,114, - 110,115,32,97,32,116,117,112,108,101,32,111,102,32,40,112, - 97,114,101,110,116,45,109,111,100,117,108,101,45,110,97,109, - 101,44,32,112,97,114,101,110,116,45,112,97,116,104,45,97, - 116,116,114,45,110,97,109,101,41,114,61,0,0,0,114,32, - 0,0,0,114,8,0,0,0,114,37,0,0,0,90,8,95, - 95,112,97,116,104,95,95,41,2,114,8,0,0,0,114,37, - 0,0,0,41,2,114,227,0,0,0,114,34,0,0,0,41, - 4,114,104,0,0,0,114,218,0,0,0,218,3,100,111,116, - 90,2,109,101,114,4,0,0,0,114,4,0,0,0,114,6, - 0,0,0,218,23,95,102,105,110,100,95,112,97,114,101,110, - 116,95,112,97,116,104,95,110,97,109,101,115,200,3,0,0, - 115,8,0,0,0,0,2,18,1,8,2,4,3,122,38,95, - 78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,102, - 105,110,100,95,112,97,114,101,110,116,95,112,97,116,104,95, - 110,97,109,101,115,99,1,0,0,0,0,0,0,0,3,0, - 0,0,3,0,0,0,67,0,0,0,115,28,0,0,0,124, - 0,160,0,161,0,92,2,125,1,125,2,116,1,116,2,106, - 3,124,1,25,0,124,2,131,2,83,0,41,1,78,41,4, - 114,234,0,0,0,114,114,0,0,0,114,8,0,0,0,218, - 7,109,111,100,117,108,101,115,41,3,114,104,0,0,0,90, - 18,112,97,114,101,110,116,95,109,111,100,117,108,101,95,110, - 97,109,101,90,14,112,97,116,104,95,97,116,116,114,95,110, - 97,109,101,114,4,0,0,0,114,4,0,0,0,114,6,0, - 0,0,114,229,0,0,0,210,3,0,0,115,4,0,0,0, - 0,1,12,1,122,31,95,78,97,109,101,115,112,97,99,101, - 80,97,116,104,46,95,103,101,116,95,112,97,114,101,110,116, - 95,112,97,116,104,99,1,0,0,0,0,0,0,0,3,0, - 0,0,4,0,0,0,67,0,0,0,115,80,0,0,0,116, - 0,124,0,160,1,161,0,131,1,125,1,124,1,124,0,106, - 2,107,3,114,74,124,0,160,3,124,0,106,4,124,1,161, - 2,125,2,124,2,100,0,107,9,114,68,124,2,106,5,100, - 0,107,8,114,68,124,2,106,6,114,68,124,2,106,6,124, - 0,95,7,124,1,124,0,95,2,124,0,106,7,83,0,41, - 1,78,41,8,114,97,0,0,0,114,229,0,0,0,114,230, - 0,0,0,114,231,0,0,0,114,227,0,0,0,114,124,0, - 0,0,114,154,0,0,0,114,228,0,0,0,41,3,114,104, - 0,0,0,90,11,112,97,114,101,110,116,95,112,97,116,104, - 114,162,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,12,95,114,101,99,97,108,99,117,108,97, - 116,101,214,3,0,0,115,16,0,0,0,0,2,12,1,10, - 1,14,3,18,1,6,1,8,1,6,1,122,27,95,78,97, - 109,101,115,112,97,99,101,80,97,116,104,46,95,114,101,99, - 97,108,99,117,108,97,116,101,99,1,0,0,0,0,0,0, - 0,1,0,0,0,3,0,0,0,67,0,0,0,115,12,0, - 0,0,116,0,124,0,160,1,161,0,131,1,83,0,41,1, - 78,41,2,218,4,105,116,101,114,114,236,0,0,0,41,1, - 114,104,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,8,95,95,105,116,101,114,95,95,227,3, - 0,0,115,2,0,0,0,0,1,122,23,95,78,97,109,101, - 115,112,97,99,101,80,97,116,104,46,95,95,105,116,101,114, - 95,95,99,3,0,0,0,0,0,0,0,3,0,0,0,3, - 0,0,0,67,0,0,0,115,14,0,0,0,124,2,124,0, - 106,0,124,1,60,0,100,0,83,0,41,1,78,41,1,114, - 228,0,0,0,41,3,114,104,0,0,0,218,5,105,110,100, - 101,120,114,37,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,218,11,95,95,115,101,116,105,116,101, - 109,95,95,230,3,0,0,115,2,0,0,0,0,1,122,26, - 95,78,97,109,101,115,112,97,99,101,80,97,116,104,46,95, - 95,115,101,116,105,116,101,109,95,95,99,1,0,0,0,0, - 0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,115, - 12,0,0,0,116,0,124,0,160,1,161,0,131,1,83,0, - 41,1,78,41,2,114,33,0,0,0,114,236,0,0,0,41, - 1,114,104,0,0,0,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,218,7,95,95,108,101,110,95,95,233,3, - 0,0,115,2,0,0,0,0,1,122,22,95,78,97,109,101, - 115,112,97,99,101,80,97,116,104,46,95,95,108,101,110,95, - 95,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, - 0,0,67,0,0,0,115,12,0,0,0,100,1,160,0,124, - 0,106,1,161,1,83,0,41,2,78,122,20,95,78,97,109, - 101,115,112,97,99,101,80,97,116,104,40,123,33,114,125,41, - 41,2,114,50,0,0,0,114,228,0,0,0,41,1,114,104, - 0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, - 0,0,218,8,95,95,114,101,112,114,95,95,236,3,0,0, - 115,2,0,0,0,0,1,122,23,95,78,97,109,101,115,112, - 97,99,101,80,97,116,104,46,95,95,114,101,112,114,95,95, - 99,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0, - 0,67,0,0,0,115,12,0,0,0,124,1,124,0,160,0, - 161,0,107,6,83,0,41,1,78,41,1,114,236,0,0,0, - 41,2,114,104,0,0,0,218,4,105,116,101,109,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,218,12,95,95, - 99,111,110,116,97,105,110,115,95,95,239,3,0,0,115,2, - 0,0,0,0,1,122,27,95,78,97,109,101,115,112,97,99, - 101,80,97,116,104,46,95,95,99,111,110,116,97,105,110,115, - 95,95,99,2,0,0,0,0,0,0,0,2,0,0,0,3, - 0,0,0,67,0,0,0,115,16,0,0,0,124,0,106,0, - 160,1,124,1,161,1,1,0,100,0,83,0,41,1,78,41, - 2,114,228,0,0,0,114,161,0,0,0,41,2,114,104,0, - 0,0,114,243,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,114,161,0,0,0,242,3,0,0,115, - 2,0,0,0,0,1,122,21,95,78,97,109,101,115,112,97, - 99,101,80,97,116,104,46,97,112,112,101,110,100,78,41,14, - 114,109,0,0,0,114,108,0,0,0,114,110,0,0,0,114, - 111,0,0,0,114,182,0,0,0,114,234,0,0,0,114,229, - 0,0,0,114,236,0,0,0,114,238,0,0,0,114,240,0, - 0,0,114,241,0,0,0,114,242,0,0,0,114,244,0,0, - 0,114,161,0,0,0,114,4,0,0,0,114,4,0,0,0, - 114,4,0,0,0,114,6,0,0,0,114,226,0,0,0,187, - 3,0,0,115,20,0,0,0,12,7,8,6,8,10,8,4, - 8,13,8,3,8,3,8,3,8,3,8,3,114,226,0,0, - 0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0, - 0,0,64,0,0,0,115,80,0,0,0,101,0,90,1,100, - 0,90,2,100,1,100,2,132,0,90,3,101,4,100,3,100, - 4,132,0,131,1,90,5,100,5,100,6,132,0,90,6,100, - 7,100,8,132,0,90,7,100,9,100,10,132,0,90,8,100, - 11,100,12,132,0,90,9,100,13,100,14,132,0,90,10,100, - 15,100,16,132,0,90,11,100,17,83,0,41,18,218,16,95, - 78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,99, - 4,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0, - 67,0,0,0,115,18,0,0,0,116,0,124,1,124,2,124, - 3,131,3,124,0,95,1,100,0,83,0,41,1,78,41,2, - 114,226,0,0,0,114,228,0,0,0,41,4,114,104,0,0, - 0,114,102,0,0,0,114,37,0,0,0,114,232,0,0,0, - 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,114, - 182,0,0,0,248,3,0,0,115,2,0,0,0,0,1,122, - 25,95,78,97,109,101,115,112,97,99,101,76,111,97,100,101, - 114,46,95,95,105,110,105,116,95,95,99,2,0,0,0,0, - 0,0,0,2,0,0,0,3,0,0,0,67,0,0,0,115, - 12,0,0,0,100,1,160,0,124,1,106,1,161,1,83,0, - 41,2,122,115,82,101,116,117,114,110,32,114,101,112,114,32, - 102,111,114,32,116,104,101,32,109,111,100,117,108,101,46,10, - 10,32,32,32,32,32,32,32,32,84,104,101,32,109,101,116, - 104,111,100,32,105,115,32,100,101,112,114,101,99,97,116,101, - 100,46,32,32,84,104,101,32,105,109,112,111,114,116,32,109, - 97,99,104,105,110,101,114,121,32,100,111,101,115,32,116,104, - 101,32,106,111,98,32,105,116,115,101,108,102,46,10,10,32, - 32,32,32,32,32,32,32,122,25,60,109,111,100,117,108,101, - 32,123,33,114,125,32,40,110,97,109,101,115,112,97,99,101, - 41,62,41,2,114,50,0,0,0,114,109,0,0,0,41,2, - 114,168,0,0,0,114,187,0,0,0,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,218,11,109,111,100,117,108, - 101,95,114,101,112,114,251,3,0,0,115,2,0,0,0,0, - 7,122,28,95,78,97,109,101,115,112,97,99,101,76,111,97, - 100,101,114,46,109,111,100,117,108,101,95,114,101,112,114,99, - 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, - 67,0,0,0,115,4,0,0,0,100,1,83,0,41,2,78, - 84,114,4,0,0,0,41,2,114,104,0,0,0,114,123,0, + 0,218,12,95,114,101,99,97,108,99,117,108,97,116,101,45, + 4,0,0,115,16,0,0,0,0,2,12,1,10,1,14,3, + 18,1,6,1,8,1,6,1,122,27,95,78,97,109,101,115, + 112,97,99,101,80,97,116,104,46,95,114,101,99,97,108,99, + 117,108,97,116,101,99,1,0,0,0,0,0,0,0,1,0, + 0,0,3,0,0,0,67,0,0,0,115,12,0,0,0,116, + 0,124,0,160,1,161,0,131,1,83,0,41,1,78,41,2, + 218,4,105,116,101,114,114,244,0,0,0,41,1,114,104,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,114,157,0,0,0,4,4,0,0,115,2,0,0,0,0, - 1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97, - 100,101,114,46,105,115,95,112,97,99,107,97,103,101,99,2, - 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67, - 0,0,0,115,4,0,0,0,100,1,83,0,41,2,78,114, - 32,0,0,0,114,4,0,0,0,41,2,114,104,0,0,0, - 114,123,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,114,198,0,0,0,7,4,0,0,115,2,0, - 0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,101, - 76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,99, - 101,99,2,0,0,0,0,0,0,0,2,0,0,0,6,0, - 0,0,67,0,0,0,115,16,0,0,0,116,0,100,1,100, - 2,100,3,100,4,100,5,141,4,83,0,41,6,78,114,32, - 0,0,0,122,8,60,115,116,114,105,110,103,62,114,186,0, - 0,0,84,41,1,114,200,0,0,0,41,1,114,201,0,0, - 0,41,2,114,104,0,0,0,114,123,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,184,0,0, - 0,10,4,0,0,115,2,0,0,0,0,1,122,25,95,78, - 97,109,101,115,112,97,99,101,76,111,97,100,101,114,46,103, - 101,116,95,99,111,100,101,99,2,0,0,0,0,0,0,0, - 2,0,0,0,1,0,0,0,67,0,0,0,115,4,0,0, - 0,100,1,83,0,41,2,122,42,85,115,101,32,100,101,102, - 97,117,108,116,32,115,101,109,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,4,0,0,0,41,2,114,104,0,0,0, - 114,162,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,114,183,0,0,0,13,4,0,0,115,0,0, - 0,0,122,30,95,78,97,109,101,115,112,97,99,101,76,111, - 97,100,101,114,46,99,114,101,97,116,101,95,109,111,100,117, - 108,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1, - 0,0,0,67,0,0,0,115,4,0,0,0,100,0,83,0, - 41,1,78,114,4,0,0,0,41,2,114,104,0,0,0,114, - 187,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, - 0,0,0,114,188,0,0,0,16,4,0,0,115,2,0,0, - 0,0,1,122,28,95,78,97,109,101,115,112,97,99,101,76, - 111,97,100,101,114,46,101,120,101,99,95,109,111,100,117,108, - 101,99,2,0,0,0,0,0,0,0,2,0,0,0,4,0, - 0,0,67,0,0,0,115,26,0,0,0,116,0,160,1,100, - 1,124,0,106,2,161,2,1,0,116,0,160,3,124,0,124, - 1,161,2,83,0,41,2,122,98,76,111,97,100,32,97,32, - 110,97,109,101,115,112,97,99,101,32,109,111,100,117,108,101, - 46,10,10,32,32,32,32,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,101,120,101,99,95, - 109,111,100,117,108,101,40,41,32,105,110,115,116,101,97,100, - 46,10,10,32,32,32,32,32,32,32,32,122,38,110,97,109, - 101,115,112,97,99,101,32,109,111,100,117,108,101,32,108,111, - 97,100,101,100,32,119,105,116,104,32,112,97,116,104,32,123, - 33,114,125,41,4,114,118,0,0,0,114,133,0,0,0,114, - 228,0,0,0,114,189,0,0,0,41,2,114,104,0,0,0, - 114,123,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,114,190,0,0,0,19,4,0,0,115,6,0, - 0,0,0,7,6,1,8,1,122,28,95,78,97,109,101,115, - 112,97,99,101,76,111,97,100,101,114,46,108,111,97,100,95, - 109,111,100,117,108,101,78,41,12,114,109,0,0,0,114,108, - 0,0,0,114,110,0,0,0,114,182,0,0,0,114,180,0, - 0,0,114,246,0,0,0,114,157,0,0,0,114,198,0,0, - 0,114,184,0,0,0,114,183,0,0,0,114,188,0,0,0, - 114,190,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 4,0,0,0,114,6,0,0,0,114,245,0,0,0,247,3, - 0,0,115,16,0,0,0,8,1,8,3,12,9,8,3,8, - 3,8,3,8,3,8,3,114,245,0,0,0,99,0,0,0, - 0,0,0,0,0,0,0,0,0,4,0,0,0,64,0,0, - 0,115,106,0,0,0,101,0,90,1,100,0,90,2,100,1, - 90,3,101,4,100,2,100,3,132,0,131,1,90,5,101,4, - 100,4,100,5,132,0,131,1,90,6,101,4,100,6,100,7, - 132,0,131,1,90,7,101,4,100,8,100,9,132,0,131,1, - 90,8,101,4,100,17,100,11,100,12,132,1,131,1,90,9, - 101,4,100,18,100,13,100,14,132,1,131,1,90,10,101,4, - 100,19,100,15,100,16,132,1,131,1,90,11,100,10,83,0, - 41,20,218,10,80,97,116,104,70,105,110,100,101,114,122,62, - 77,101,116,97,32,112,97,116,104,32,102,105,110,100,101,114, - 32,102,111,114,32,115,121,115,46,112,97,116,104,32,97,110, - 100,32,112,97,99,107,97,103,101,32,95,95,112,97,116,104, - 95,95,32,97,116,116,114,105,98,117,116,101,115,46,99,1, - 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,67, - 0,0,0,115,42,0,0,0,120,36,116,0,106,1,160,2, - 161,0,68,0,93,22,125,1,116,3,124,1,100,1,131,2, - 114,12,124,1,160,4,161,0,1,0,113,12,87,0,100,2, - 83,0,41,3,122,125,67,97,108,108,32,116,104,101,32,105, - 110,118,97,108,105,100,97,116,101,95,99,97,99,104,101,115, - 40,41,32,109,101,116,104,111,100,32,111,110,32,97,108,108, - 32,112,97,116,104,32,101,110,116,114,121,32,102,105,110,100, - 101,114,115,10,32,32,32,32,32,32,32,32,115,116,111,114, - 101,100,32,105,110,32,115,121,115,46,112,97,116,104,95,105, - 109,112,111,114,116,101,114,95,99,97,99,104,101,115,32,40, - 119,104,101,114,101,32,105,109,112,108,101,109,101,110,116,101, - 100,41,46,218,17,105,110,118,97,108,105,100,97,116,101,95, - 99,97,99,104,101,115,78,41,5,114,8,0,0,0,218,19, - 112,97,116,104,95,105,109,112,111,114,116,101,114,95,99,97, - 99,104,101,218,6,118,97,108,117,101,115,114,112,0,0,0, - 114,248,0,0,0,41,2,114,168,0,0,0,218,6,102,105, - 110,100,101,114,114,4,0,0,0,114,4,0,0,0,114,6, - 0,0,0,114,248,0,0,0,37,4,0,0,115,6,0,0, - 0,0,4,16,1,10,1,122,28,80,97,116,104,70,105,110, - 100,101,114,46,105,110,118,97,108,105,100,97,116,101,95,99, - 97,99,104,101,115,99,2,0,0,0,0,0,0,0,3,0, - 0,0,12,0,0,0,67,0,0,0,115,84,0,0,0,116, - 0,106,1,100,1,107,9,114,28,116,0,106,1,115,28,116, - 2,160,3,100,2,116,4,161,2,1,0,120,50,116,0,106, - 1,68,0,93,36,125,2,121,8,124,2,124,1,131,1,83, - 0,4,0,116,5,107,10,114,70,1,0,1,0,1,0,119, - 36,89,0,113,36,88,0,113,36,87,0,100,1,83,0,100, - 1,83,0,41,3,122,46,83,101,97,114,99,104,32,115,121, - 115,46,112,97,116,104,95,104,111,111,107,115,32,102,111,114, - 32,97,32,102,105,110,100,101,114,32,102,111,114,32,39,112, - 97,116,104,39,46,78,122,23,115,121,115,46,112,97,116,104, - 95,104,111,111,107,115,32,105,115,32,101,109,112,116,121,41, - 6,114,8,0,0,0,218,10,112,97,116,104,95,104,111,111, - 107,115,114,63,0,0,0,114,64,0,0,0,114,122,0,0, - 0,114,103,0,0,0,41,3,114,168,0,0,0,114,37,0, - 0,0,90,4,104,111,111,107,114,4,0,0,0,114,4,0, - 0,0,114,6,0,0,0,218,11,95,112,97,116,104,95,104, - 111,111,107,115,45,4,0,0,115,16,0,0,0,0,3,16, - 1,12,1,12,1,2,1,8,1,14,1,12,2,122,22,80, - 97,116,104,70,105,110,100,101,114,46,95,112,97,116,104,95, - 104,111,111,107,115,99,2,0,0,0,0,0,0,0,3,0, - 0,0,19,0,0,0,67,0,0,0,115,102,0,0,0,124, - 1,100,1,107,2,114,42,121,12,116,0,160,1,161,0,125, - 1,87,0,110,20,4,0,116,2,107,10,114,40,1,0,1, - 0,1,0,100,2,83,0,88,0,121,14,116,3,106,4,124, - 1,25,0,125,2,87,0,110,40,4,0,116,5,107,10,114, - 96,1,0,1,0,1,0,124,0,160,6,124,1,161,1,125, - 2,124,2,116,3,106,4,124,1,60,0,89,0,110,2,88, - 0,124,2,83,0,41,3,122,210,71,101,116,32,116,104,101, - 32,102,105,110,100,101,114,32,102,111,114,32,116,104,101,32, - 112,97,116,104,32,101,110,116,114,121,32,102,114,111,109,32, - 115,121,115,46,112,97,116,104,95,105,109,112,111,114,116,101, - 114,95,99,97,99,104,101,46,10,10,32,32,32,32,32,32, - 32,32,73,102,32,116,104,101,32,112,97,116,104,32,101,110, - 116,114,121,32,105,115,32,110,111,116,32,105,110,32,116,104, - 101,32,99,97,99,104,101,44,32,102,105,110,100,32,116,104, - 101,32,97,112,112,114,111,112,114,105,97,116,101,32,102,105, - 110,100,101,114,10,32,32,32,32,32,32,32,32,97,110,100, - 32,99,97,99,104,101,32,105,116,46,32,73,102,32,110,111, - 32,102,105,110,100,101,114,32,105,115,32,97,118,97,105,108, - 97,98,108,101,44,32,115,116,111,114,101,32,78,111,110,101, - 46,10,10,32,32,32,32,32,32,32,32,114,32,0,0,0, - 78,41,7,114,3,0,0,0,114,47,0,0,0,218,17,70, - 105,108,101,78,111,116,70,111,117,110,100,69,114,114,111,114, - 114,8,0,0,0,114,249,0,0,0,114,135,0,0,0,114, - 253,0,0,0,41,3,114,168,0,0,0,114,37,0,0,0, - 114,251,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,20,95,112,97,116,104,95,105,109,112,111, - 114,116,101,114,95,99,97,99,104,101,58,4,0,0,115,22, - 0,0,0,0,8,8,1,2,1,12,1,14,3,6,1,2, - 1,14,1,14,1,10,1,16,1,122,31,80,97,116,104,70, - 105,110,100,101,114,46,95,112,97,116,104,95,105,109,112,111, - 114,116,101,114,95,99,97,99,104,101,99,3,0,0,0,0, - 0,0,0,6,0,0,0,4,0,0,0,67,0,0,0,115, - 82,0,0,0,116,0,124,2,100,1,131,2,114,26,124,2, - 160,1,124,1,161,1,92,2,125,3,125,4,110,14,124,2, - 160,2,124,1,161,1,125,3,103,0,125,4,124,3,100,0, - 107,9,114,60,116,3,160,4,124,1,124,3,161,2,83,0, - 116,3,160,5,124,1,100,0,161,2,125,5,124,4,124,5, - 95,6,124,5,83,0,41,2,78,114,121,0,0,0,41,7, - 114,112,0,0,0,114,121,0,0,0,114,179,0,0,0,114, - 118,0,0,0,114,176,0,0,0,114,158,0,0,0,114,154, - 0,0,0,41,6,114,168,0,0,0,114,123,0,0,0,114, - 251,0,0,0,114,124,0,0,0,114,125,0,0,0,114,162, + 0,218,8,95,95,105,116,101,114,95,95,58,4,0,0,115, + 2,0,0,0,0,1,122,23,95,78,97,109,101,115,112,97, + 99,101,80,97,116,104,46,95,95,105,116,101,114,95,95,99, + 3,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, + 67,0,0,0,115,14,0,0,0,124,2,124,0,106,0,124, + 1,60,0,100,0,83,0,41,1,78,41,1,114,236,0,0, + 0,41,3,114,104,0,0,0,218,5,105,110,100,101,120,114, + 37,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,218,11,95,95,115,101,116,105,116,101,109,95,95, + 61,4,0,0,115,2,0,0,0,0,1,122,26,95,78,97, + 109,101,115,112,97,99,101,80,97,116,104,46,95,95,115,101, + 116,105,116,101,109,95,95,99,1,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,67,0,0,0,115,12,0,0, + 0,116,0,124,0,160,1,161,0,131,1,83,0,41,1,78, + 41,2,114,33,0,0,0,114,244,0,0,0,41,1,114,104, 0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, - 0,0,218,16,95,108,101,103,97,99,121,95,103,101,116,95, - 115,112,101,99,80,4,0,0,115,18,0,0,0,0,4,10, - 1,16,2,10,1,4,1,8,1,12,1,12,1,6,1,122, - 27,80,97,116,104,70,105,110,100,101,114,46,95,108,101,103, - 97,99,121,95,103,101,116,95,115,112,101,99,78,99,4,0, - 0,0,0,0,0,0,9,0,0,0,5,0,0,0,67,0, - 0,0,115,170,0,0,0,103,0,125,4,120,160,124,2,68, - 0,93,130,125,5,116,0,124,5,116,1,116,2,102,2,131, - 2,115,30,113,10,124,0,160,3,124,5,161,1,125,6,124, - 6,100,1,107,9,114,10,116,4,124,6,100,2,131,2,114, - 72,124,6,160,5,124,1,124,3,161,2,125,7,110,12,124, - 0,160,6,124,1,124,6,161,2,125,7,124,7,100,1,107, - 8,114,94,113,10,124,7,106,7,100,1,107,9,114,108,124, - 7,83,0,124,7,106,8,125,8,124,8,100,1,107,8,114, - 130,116,9,100,3,131,1,130,1,124,4,160,10,124,8,161, - 1,1,0,113,10,87,0,116,11,160,12,124,1,100,1,161, - 2,125,7,124,4,124,7,95,8,124,7,83,0,100,1,83, - 0,41,4,122,63,70,105,110,100,32,116,104,101,32,108,111, - 97,100,101,114,32,111,114,32,110,97,109,101,115,112,97,99, - 101,95,112,97,116,104,32,102,111,114,32,116,104,105,115,32, - 109,111,100,117,108,101,47,112,97,99,107,97,103,101,32,110, - 97,109,101,46,78,114,178,0,0,0,122,19,115,112,101,99, - 32,109,105,115,115,105,110,103,32,108,111,97,100,101,114,41, - 13,114,141,0,0,0,114,73,0,0,0,218,5,98,121,116, - 101,115,114,255,0,0,0,114,112,0,0,0,114,178,0,0, - 0,114,0,1,0,0,114,124,0,0,0,114,154,0,0,0, - 114,103,0,0,0,114,147,0,0,0,114,118,0,0,0,114, - 158,0,0,0,41,9,114,168,0,0,0,114,123,0,0,0, - 114,37,0,0,0,114,177,0,0,0,218,14,110,97,109,101, - 115,112,97,99,101,95,112,97,116,104,90,5,101,110,116,114, - 121,114,251,0,0,0,114,162,0,0,0,114,125,0,0,0, + 0,0,218,7,95,95,108,101,110,95,95,64,4,0,0,115, + 2,0,0,0,0,1,122,22,95,78,97,109,101,115,112,97, + 99,101,80,97,116,104,46,95,95,108,101,110,95,95,99,1, + 0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,67, + 0,0,0,115,12,0,0,0,100,1,160,0,124,0,106,1, + 161,1,83,0,41,2,78,122,20,95,78,97,109,101,115,112, + 97,99,101,80,97,116,104,40,123,33,114,125,41,41,2,114, + 50,0,0,0,114,236,0,0,0,41,1,114,104,0,0,0, 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,218, - 9,95,103,101,116,95,115,112,101,99,95,4,0,0,115,40, - 0,0,0,0,5,4,1,10,1,14,1,2,1,10,1,8, - 1,10,1,14,2,12,1,8,1,2,1,10,1,4,1,6, - 1,8,1,8,5,14,2,12,1,6,1,122,20,80,97,116, - 104,70,105,110,100,101,114,46,95,103,101,116,95,115,112,101, - 99,99,4,0,0,0,0,0,0,0,6,0,0,0,5,0, - 0,0,67,0,0,0,115,100,0,0,0,124,2,100,1,107, - 8,114,14,116,0,106,1,125,2,124,0,160,2,124,1,124, - 2,124,3,161,3,125,4,124,4,100,1,107,8,114,40,100, - 1,83,0,124,4,106,3,100,1,107,8,114,92,124,4,106, - 4,125,5,124,5,114,86,100,2,124,4,95,5,116,6,124, - 1,124,5,124,0,106,2,131,3,124,4,95,4,124,4,83, - 0,100,1,83,0,110,4,124,4,83,0,100,1,83,0,41, - 3,122,141,84,114,121,32,116,111,32,102,105,110,100,32,97, - 32,115,112,101,99,32,102,111,114,32,39,102,117,108,108,110, - 97,109,101,39,32,111,110,32,115,121,115,46,112,97,116,104, - 32,111,114,32,39,112,97,116,104,39,46,10,10,32,32,32, - 32,32,32,32,32,84,104,101,32,115,101,97,114,99,104,32, - 105,115,32,98,97,115,101,100,32,111,110,32,115,121,115,46, - 112,97,116,104,95,104,111,111,107,115,32,97,110,100,32,115, - 121,115,46,112,97,116,104,95,105,109,112,111,114,116,101,114, - 95,99,97,99,104,101,46,10,32,32,32,32,32,32,32,32, - 78,90,9,110,97,109,101,115,112,97,99,101,41,7,114,8, - 0,0,0,114,37,0,0,0,114,3,1,0,0,114,124,0, - 0,0,114,154,0,0,0,114,156,0,0,0,114,226,0,0, - 0,41,6,114,168,0,0,0,114,123,0,0,0,114,37,0, - 0,0,114,177,0,0,0,114,162,0,0,0,114,2,1,0, + 8,95,95,114,101,112,114,95,95,67,4,0,0,115,2,0, + 0,0,0,1,122,23,95,78,97,109,101,115,112,97,99,101, + 80,97,116,104,46,95,95,114,101,112,114,95,95,99,2,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,67,0, + 0,0,115,12,0,0,0,124,1,124,0,160,0,161,0,107, + 6,83,0,41,1,78,41,1,114,244,0,0,0,41,2,114, + 104,0,0,0,218,4,105,116,101,109,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,218,12,95,95,99,111,110, + 116,97,105,110,115,95,95,70,4,0,0,115,2,0,0,0, + 0,1,122,27,95,78,97,109,101,115,112,97,99,101,80,97, + 116,104,46,95,95,99,111,110,116,97,105,110,115,95,95,99, + 2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 67,0,0,0,115,16,0,0,0,124,0,106,0,160,1,124, + 1,161,1,1,0,100,0,83,0,41,1,78,41,2,114,236, + 0,0,0,114,167,0,0,0,41,2,114,104,0,0,0,114, + 251,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,114,167,0,0,0,73,4,0,0,115,2,0,0, + 0,0,1,122,21,95,78,97,109,101,115,112,97,99,101,80, + 97,116,104,46,97,112,112,101,110,100,78,41,14,114,109,0, + 0,0,114,108,0,0,0,114,110,0,0,0,114,111,0,0, + 0,114,188,0,0,0,114,242,0,0,0,114,237,0,0,0, + 114,244,0,0,0,114,246,0,0,0,114,248,0,0,0,114, + 249,0,0,0,114,250,0,0,0,114,252,0,0,0,114,167, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,6,0,0,0,114,234,0,0,0,18,4,0,0, + 115,20,0,0,0,12,7,8,6,8,10,8,4,8,13,8, + 3,8,3,8,3,8,3,8,3,114,234,0,0,0,99,0, + 0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64, + 0,0,0,115,80,0,0,0,101,0,90,1,100,0,90,2, + 100,1,100,2,132,0,90,3,101,4,100,3,100,4,132,0, + 131,1,90,5,100,5,100,6,132,0,90,6,100,7,100,8, + 132,0,90,7,100,9,100,10,132,0,90,8,100,11,100,12, + 132,0,90,9,100,13,100,14,132,0,90,10,100,15,100,16, + 132,0,90,11,100,17,83,0,41,18,218,16,95,78,97,109, + 101,115,112,97,99,101,76,111,97,100,101,114,99,4,0,0, + 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0, + 0,115,18,0,0,0,116,0,124,1,124,2,124,3,131,3, + 124,0,95,1,100,0,83,0,41,1,78,41,2,114,234,0, + 0,0,114,236,0,0,0,41,4,114,104,0,0,0,114,102, + 0,0,0,114,37,0,0,0,114,240,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,6,0,0,0,114,188,0,0, + 0,79,4,0,0,115,2,0,0,0,0,1,122,25,95,78, + 97,109,101,115,112,97,99,101,76,111,97,100,101,114,46,95, + 95,105,110,105,116,95,95,99,2,0,0,0,0,0,0,0, + 2,0,0,0,3,0,0,0,67,0,0,0,115,12,0,0, + 0,100,1,160,0,124,1,106,1,161,1,83,0,41,2,122, + 115,82,101,116,117,114,110,32,114,101,112,114,32,102,111,114, + 32,116,104,101,32,109,111,100,117,108,101,46,10,10,32,32, + 32,32,32,32,32,32,84,104,101,32,109,101,116,104,111,100, + 32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,32, + 32,84,104,101,32,105,109,112,111,114,116,32,109,97,99,104, + 105,110,101,114,121,32,100,111,101,115,32,116,104,101,32,106, + 111,98,32,105,116,115,101,108,102,46,10,10,32,32,32,32, + 32,32,32,32,122,25,60,109,111,100,117,108,101,32,123,33, + 114,125,32,40,110,97,109,101,115,112,97,99,101,41,62,41, + 2,114,50,0,0,0,114,109,0,0,0,41,2,114,174,0, + 0,0,114,193,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,11,109,111,100,117,108,101,95,114, + 101,112,114,82,4,0,0,115,2,0,0,0,0,7,122,28, + 95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, + 46,109,111,100,117,108,101,95,114,101,112,114,99,2,0,0, + 0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0, + 0,115,4,0,0,0,100,1,83,0,41,2,78,84,114,4, + 0,0,0,41,2,114,104,0,0,0,114,123,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,163, + 0,0,0,91,4,0,0,115,2,0,0,0,0,1,122,27, + 95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, + 46,105,115,95,112,97,99,107,97,103,101,99,2,0,0,0, + 0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0, + 115,4,0,0,0,100,1,83,0,41,2,78,114,32,0,0, + 0,114,4,0,0,0,41,2,114,104,0,0,0,114,123,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,114,204,0,0,0,94,4,0,0,115,2,0,0,0,0, + 1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97, + 100,101,114,46,103,101,116,95,115,111,117,114,99,101,99,2, + 0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,67, + 0,0,0,115,16,0,0,0,116,0,100,1,100,2,100,3, + 100,4,100,5,141,4,83,0,41,6,78,114,32,0,0,0, + 122,8,60,115,116,114,105,110,103,62,114,192,0,0,0,84, + 41,1,114,206,0,0,0,41,1,114,207,0,0,0,41,2, + 114,104,0,0,0,114,123,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,6,0,0,0,114,190,0,0,0,97,4, + 0,0,115,2,0,0,0,0,1,122,25,95,78,97,109,101, + 115,112,97,99,101,76,111,97,100,101,114,46,103,101,116,95, + 99,111,100,101,99,2,0,0,0,0,0,0,0,2,0,0, + 0,1,0,0,0,67,0,0,0,115,4,0,0,0,100,1, + 83,0,41,2,122,42,85,115,101,32,100,101,102,97,117,108, + 116,32,115,101,109,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,4,0,0,0,41,2,114,104,0,0,0,114,168,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,114,189,0,0,0,100,4,0,0,115,0,0,0,0,122, + 30,95,78,97,109,101,115,112,97,99,101,76,111,97,100,101, + 114,46,99,114,101,97,116,101,95,109,111,100,117,108,101,99, + 2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0, + 67,0,0,0,115,4,0,0,0,100,0,83,0,41,1,78, + 114,4,0,0,0,41,2,114,104,0,0,0,114,193,0,0, 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, - 114,178,0,0,0,127,4,0,0,115,26,0,0,0,0,6, - 8,1,6,1,14,1,8,1,4,1,10,1,6,1,4,3, - 6,1,16,1,4,2,6,2,122,20,80,97,116,104,70,105, - 110,100,101,114,46,102,105,110,100,95,115,112,101,99,99,3, - 0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,67, - 0,0,0,115,30,0,0,0,124,0,160,0,124,1,124,2, - 161,2,125,3,124,3,100,1,107,8,114,24,100,1,83,0, - 124,3,106,1,83,0,41,2,122,170,102,105,110,100,32,116, - 104,101,32,109,111,100,117,108,101,32,111,110,32,115,121,115, - 46,112,97,116,104,32,111,114,32,39,112,97,116,104,39,32, - 98,97,115,101,100,32,111,110,32,115,121,115,46,112,97,116, - 104,95,104,111,111,107,115,32,97,110,100,10,32,32,32,32, - 32,32,32,32,115,121,115,46,112,97,116,104,95,105,109,112, - 111,114,116,101,114,95,99,97,99,104,101,46,10,10,32,32, - 32,32,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,102,105,110,100,95,115,112,101,99,40, - 41,32,105,110,115,116,101,97,100,46,10,10,32,32,32,32, - 32,32,32,32,78,41,2,114,178,0,0,0,114,124,0,0, - 0,41,4,114,168,0,0,0,114,123,0,0,0,114,37,0, - 0,0,114,162,0,0,0,114,4,0,0,0,114,4,0,0, - 0,114,6,0,0,0,114,179,0,0,0,151,4,0,0,115, - 8,0,0,0,0,8,12,1,8,1,4,1,122,22,80,97, - 116,104,70,105,110,100,101,114,46,102,105,110,100,95,109,111, - 100,117,108,101,41,1,78,41,2,78,78,41,1,78,41,12, - 114,109,0,0,0,114,108,0,0,0,114,110,0,0,0,114, - 111,0,0,0,114,180,0,0,0,114,248,0,0,0,114,253, - 0,0,0,114,255,0,0,0,114,0,1,0,0,114,3,1, - 0,0,114,178,0,0,0,114,179,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, - 114,247,0,0,0,33,4,0,0,115,20,0,0,0,12,4, - 12,8,12,13,12,22,12,15,2,1,12,31,2,1,12,23, - 2,1,114,247,0,0,0,99,0,0,0,0,0,0,0,0, - 0,0,0,0,3,0,0,0,64,0,0,0,115,90,0,0, - 0,101,0,90,1,100,0,90,2,100,1,90,3,100,2,100, - 3,132,0,90,4,100,4,100,5,132,0,90,5,101,6,90, - 7,100,6,100,7,132,0,90,8,100,8,100,9,132,0,90, - 9,100,19,100,11,100,12,132,1,90,10,100,13,100,14,132, - 0,90,11,101,12,100,15,100,16,132,0,131,1,90,13,100, - 17,100,18,132,0,90,14,100,10,83,0,41,20,218,10,70, - 105,108,101,70,105,110,100,101,114,122,172,70,105,108,101,45, - 98,97,115,101,100,32,102,105,110,100,101,114,46,10,10,32, - 32,32,32,73,110,116,101,114,97,99,116,105,111,110,115,32, - 119,105,116,104,32,116,104,101,32,102,105,108,101,32,115,121, - 115,116,101,109,32,97,114,101,32,99,97,99,104,101,100,32, - 102,111,114,32,112,101,114,102,111,114,109,97,110,99,101,44, - 32,98,101,105,110,103,10,32,32,32,32,114,101,102,114,101, - 115,104,101,100,32,119,104,101,110,32,116,104,101,32,100,105, - 114,101,99,116,111,114,121,32,116,104,101,32,102,105,110,100, - 101,114,32,105,115,32,104,97,110,100,108,105,110,103,32,104, - 97,115,32,98,101,101,110,32,109,111,100,105,102,105,101,100, - 46,10,10,32,32,32,32,99,2,0,0,0,0,0,0,0, - 5,0,0,0,6,0,0,0,7,0,0,0,115,88,0,0, - 0,103,0,125,3,120,40,124,2,68,0,93,32,92,2,137, - 0,125,4,124,3,160,0,135,0,102,1,100,1,100,2,132, - 8,124,4,68,0,131,1,161,1,1,0,113,10,87,0,124, - 3,124,0,95,1,124,1,112,58,100,3,124,0,95,2,100, - 6,124,0,95,3,116,4,131,0,124,0,95,5,116,4,131, - 0,124,0,95,6,100,5,83,0,41,7,122,154,73,110,105, - 116,105,97,108,105,122,101,32,119,105,116,104,32,116,104,101, - 32,112,97,116,104,32,116,111,32,115,101,97,114,99,104,32, - 111,110,32,97,110,100,32,97,32,118,97,114,105,97,98,108, - 101,32,110,117,109,98,101,114,32,111,102,10,32,32,32,32, - 32,32,32,32,50,45,116,117,112,108,101,115,32,99,111,110, - 116,97,105,110,105,110,103,32,116,104,101,32,108,111,97,100, - 101,114,32,97,110,100,32,116,104,101,32,102,105,108,101,32, - 115,117,102,102,105,120,101,115,32,116,104,101,32,108,111,97, - 100,101,114,10,32,32,32,32,32,32,32,32,114,101,99,111, - 103,110,105,122,101,115,46,99,1,0,0,0,0,0,0,0, - 2,0,0,0,3,0,0,0,51,0,0,0,115,22,0,0, - 0,124,0,93,14,125,1,124,1,136,0,102,2,86,0,1, - 0,113,2,100,0,83,0,41,1,78,114,4,0,0,0,41, - 2,114,24,0,0,0,114,221,0,0,0,41,1,114,124,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,223,0,0, - 0,180,4,0,0,115,2,0,0,0,4,0,122,38,70,105, - 108,101,70,105,110,100,101,114,46,95,95,105,110,105,116,95, - 95,46,60,108,111,99,97,108,115,62,46,60,103,101,110,101, - 120,112,114,62,114,61,0,0,0,114,31,0,0,0,78,114, - 91,0,0,0,41,7,114,147,0,0,0,218,8,95,108,111, - 97,100,101,114,115,114,37,0,0,0,218,11,95,112,97,116, - 104,95,109,116,105,109,101,218,3,115,101,116,218,11,95,112, - 97,116,104,95,99,97,99,104,101,218,19,95,114,101,108,97, - 120,101,100,95,112,97,116,104,95,99,97,99,104,101,41,5, - 114,104,0,0,0,114,37,0,0,0,218,14,108,111,97,100, - 101,114,95,100,101,116,97,105,108,115,90,7,108,111,97,100, - 101,114,115,114,164,0,0,0,114,4,0,0,0,41,1,114, - 124,0,0,0,114,6,0,0,0,114,182,0,0,0,174,4, - 0,0,115,16,0,0,0,0,4,4,1,14,1,28,1,6, - 2,10,1,6,1,8,1,122,19,70,105,108,101,70,105,110, - 100,101,114,46,95,95,105,110,105,116,95,95,99,1,0,0, - 0,0,0,0,0,1,0,0,0,2,0,0,0,67,0,0, - 0,115,10,0,0,0,100,3,124,0,95,0,100,2,83,0, - 41,4,122,31,73,110,118,97,108,105,100,97,116,101,32,116, - 104,101,32,100,105,114,101,99,116,111,114,121,32,109,116,105, - 109,101,46,114,31,0,0,0,78,114,91,0,0,0,41,1, - 114,6,1,0,0,41,1,114,104,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,114,248,0,0,0, - 188,4,0,0,115,2,0,0,0,0,2,122,28,70,105,108, - 101,70,105,110,100,101,114,46,105,110,118,97,108,105,100,97, - 116,101,95,99,97,99,104,101,115,99,2,0,0,0,0,0, - 0,0,3,0,0,0,3,0,0,0,67,0,0,0,115,42, - 0,0,0,124,0,160,0,124,1,161,1,125,2,124,2,100, - 1,107,8,114,26,100,1,103,0,102,2,83,0,124,2,106, - 1,124,2,106,2,112,38,103,0,102,2,83,0,41,2,122, - 197,84,114,121,32,116,111,32,102,105,110,100,32,97,32,108, - 111,97,100,101,114,32,102,111,114,32,116,104,101,32,115,112, - 101,99,105,102,105,101,100,32,109,111,100,117,108,101,44,32, - 111,114,32,116,104,101,32,110,97,109,101,115,112,97,99,101, - 10,32,32,32,32,32,32,32,32,112,97,99,107,97,103,101, - 32,112,111,114,116,105,111,110,115,46,32,82,101,116,117,114, - 110,115,32,40,108,111,97,100,101,114,44,32,108,105,115,116, - 45,111,102,45,112,111,114,116,105,111,110,115,41,46,10,10, + 114,194,0,0,0,103,4,0,0,115,2,0,0,0,0,1, + 122,28,95,78,97,109,101,115,112,97,99,101,76,111,97,100, + 101,114,46,101,120,101,99,95,109,111,100,117,108,101,99,2, + 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,67, + 0,0,0,115,26,0,0,0,116,0,160,1,100,1,124,0, + 106,2,161,2,1,0,116,0,160,3,124,0,124,1,161,2, + 83,0,41,2,122,98,76,111,97,100,32,97,32,110,97,109, + 101,115,112,97,99,101,32,109,111,100,117,108,101,46,10,10, + 32,32,32,32,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,101,120,101,99,95,109,111,100, + 117,108,101,40,41,32,105,110,115,116,101,97,100,46,10,10, + 32,32,32,32,32,32,32,32,122,38,110,97,109,101,115,112, + 97,99,101,32,109,111,100,117,108,101,32,108,111,97,100,101, + 100,32,119,105,116,104,32,112,97,116,104,32,123,33,114,125, + 41,4,114,118,0,0,0,114,132,0,0,0,114,236,0,0, + 0,114,195,0,0,0,41,2,114,104,0,0,0,114,123,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,114,196,0,0,0,106,4,0,0,115,6,0,0,0,0, + 7,6,1,8,1,122,28,95,78,97,109,101,115,112,97,99, + 101,76,111,97,100,101,114,46,108,111,97,100,95,109,111,100, + 117,108,101,78,41,12,114,109,0,0,0,114,108,0,0,0, + 114,110,0,0,0,114,188,0,0,0,114,186,0,0,0,114, + 254,0,0,0,114,163,0,0,0,114,204,0,0,0,114,190, + 0,0,0,114,189,0,0,0,114,194,0,0,0,114,196,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,114,253,0,0,0,78,4,0,0,115, + 16,0,0,0,8,1,8,3,12,9,8,3,8,3,8,3, + 8,3,8,3,114,253,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,4,0,0,0,64,0,0,0,115,106, + 0,0,0,101,0,90,1,100,0,90,2,100,1,90,3,101, + 4,100,2,100,3,132,0,131,1,90,5,101,4,100,4,100, + 5,132,0,131,1,90,6,101,4,100,6,100,7,132,0,131, + 1,90,7,101,4,100,8,100,9,132,0,131,1,90,8,101, + 4,100,17,100,11,100,12,132,1,131,1,90,9,101,4,100, + 18,100,13,100,14,132,1,131,1,90,10,101,4,100,19,100, + 15,100,16,132,1,131,1,90,11,100,10,83,0,41,20,218, + 10,80,97,116,104,70,105,110,100,101,114,122,62,77,101,116, + 97,32,112,97,116,104,32,102,105,110,100,101,114,32,102,111, + 114,32,115,121,115,46,112,97,116,104,32,97,110,100,32,112, + 97,99,107,97,103,101,32,95,95,112,97,116,104,95,95,32, + 97,116,116,114,105,98,117,116,101,115,46,99,1,0,0,0, + 0,0,0,0,2,0,0,0,4,0,0,0,67,0,0,0, + 115,42,0,0,0,120,36,116,0,106,1,160,2,161,0,68, + 0,93,22,125,1,116,3,124,1,100,1,131,2,114,12,124, + 1,160,4,161,0,1,0,113,12,87,0,100,2,83,0,41, + 3,122,125,67,97,108,108,32,116,104,101,32,105,110,118,97, + 108,105,100,97,116,101,95,99,97,99,104,101,115,40,41,32, + 109,101,116,104,111,100,32,111,110,32,97,108,108,32,112,97, + 116,104,32,101,110,116,114,121,32,102,105,110,100,101,114,115, + 10,32,32,32,32,32,32,32,32,115,116,111,114,101,100,32, + 105,110,32,115,121,115,46,112,97,116,104,95,105,109,112,111, + 114,116,101,114,95,99,97,99,104,101,115,32,40,119,104,101, + 114,101,32,105,109,112,108,101,109,101,110,116,101,100,41,46, + 218,17,105,110,118,97,108,105,100,97,116,101,95,99,97,99, + 104,101,115,78,41,5,114,8,0,0,0,218,19,112,97,116, + 104,95,105,109,112,111,114,116,101,114,95,99,97,99,104,101, + 218,6,118,97,108,117,101,115,114,112,0,0,0,114,0,1, + 0,0,41,2,114,174,0,0,0,218,6,102,105,110,100,101, + 114,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 114,0,1,0,0,124,4,0,0,115,6,0,0,0,0,4, + 16,1,10,1,122,28,80,97,116,104,70,105,110,100,101,114, + 46,105,110,118,97,108,105,100,97,116,101,95,99,97,99,104, + 101,115,99,2,0,0,0,0,0,0,0,3,0,0,0,12, + 0,0,0,67,0,0,0,115,84,0,0,0,116,0,106,1, + 100,1,107,9,114,28,116,0,106,1,115,28,116,2,160,3, + 100,2,116,4,161,2,1,0,120,50,116,0,106,1,68,0, + 93,36,125,2,121,8,124,2,124,1,131,1,83,0,4,0, + 116,5,107,10,114,70,1,0,1,0,1,0,119,36,89,0, + 113,36,88,0,113,36,87,0,100,1,83,0,100,1,83,0, + 41,3,122,46,83,101,97,114,99,104,32,115,121,115,46,112, + 97,116,104,95,104,111,111,107,115,32,102,111,114,32,97,32, + 102,105,110,100,101,114,32,102,111,114,32,39,112,97,116,104, + 39,46,78,122,23,115,121,115,46,112,97,116,104,95,104,111, + 111,107,115,32,105,115,32,101,109,112,116,121,41,6,114,8, + 0,0,0,218,10,112,97,116,104,95,104,111,111,107,115,114, + 63,0,0,0,114,64,0,0,0,114,122,0,0,0,114,103, + 0,0,0,41,3,114,174,0,0,0,114,37,0,0,0,90, + 4,104,111,111,107,114,4,0,0,0,114,4,0,0,0,114, + 6,0,0,0,218,11,95,112,97,116,104,95,104,111,111,107, + 115,132,4,0,0,115,16,0,0,0,0,3,16,1,12,1, + 12,1,2,1,8,1,14,1,12,2,122,22,80,97,116,104, + 70,105,110,100,101,114,46,95,112,97,116,104,95,104,111,111, + 107,115,99,2,0,0,0,0,0,0,0,3,0,0,0,19, + 0,0,0,67,0,0,0,115,102,0,0,0,124,1,100,1, + 107,2,114,42,121,12,116,0,160,1,161,0,125,1,87,0, + 110,20,4,0,116,2,107,10,114,40,1,0,1,0,1,0, + 100,2,83,0,88,0,121,14,116,3,106,4,124,1,25,0, + 125,2,87,0,110,40,4,0,116,5,107,10,114,96,1,0, + 1,0,1,0,124,0,160,6,124,1,161,1,125,2,124,2, + 116,3,106,4,124,1,60,0,89,0,110,2,88,0,124,2, + 83,0,41,3,122,210,71,101,116,32,116,104,101,32,102,105, + 110,100,101,114,32,102,111,114,32,116,104,101,32,112,97,116, + 104,32,101,110,116,114,121,32,102,114,111,109,32,115,121,115, + 46,112,97,116,104,95,105,109,112,111,114,116,101,114,95,99, + 97,99,104,101,46,10,10,32,32,32,32,32,32,32,32,73, + 102,32,116,104,101,32,112,97,116,104,32,101,110,116,114,121, + 32,105,115,32,110,111,116,32,105,110,32,116,104,101,32,99, + 97,99,104,101,44,32,102,105,110,100,32,116,104,101,32,97, + 112,112,114,111,112,114,105,97,116,101,32,102,105,110,100,101, + 114,10,32,32,32,32,32,32,32,32,97,110,100,32,99,97, + 99,104,101,32,105,116,46,32,73,102,32,110,111,32,102,105, + 110,100,101,114,32,105,115,32,97,118,97,105,108,97,98,108, + 101,44,32,115,116,111,114,101,32,78,111,110,101,46,10,10, + 32,32,32,32,32,32,32,32,114,32,0,0,0,78,41,7, + 114,3,0,0,0,114,47,0,0,0,218,17,70,105,108,101, + 78,111,116,70,111,117,110,100,69,114,114,111,114,114,8,0, + 0,0,114,1,1,0,0,218,8,75,101,121,69,114,114,111, + 114,114,5,1,0,0,41,3,114,174,0,0,0,114,37,0, + 0,0,114,3,1,0,0,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,20,95,112,97,116,104,95,105,109, + 112,111,114,116,101,114,95,99,97,99,104,101,145,4,0,0, + 115,22,0,0,0,0,8,8,1,2,1,12,1,14,3,6, + 1,2,1,14,1,14,1,10,1,16,1,122,31,80,97,116, + 104,70,105,110,100,101,114,46,95,112,97,116,104,95,105,109, + 112,111,114,116,101,114,95,99,97,99,104,101,99,3,0,0, + 0,0,0,0,0,6,0,0,0,4,0,0,0,67,0,0, + 0,115,82,0,0,0,116,0,124,2,100,1,131,2,114,26, + 124,2,160,1,124,1,161,1,92,2,125,3,125,4,110,14, + 124,2,160,2,124,1,161,1,125,3,103,0,125,4,124,3, + 100,0,107,9,114,60,116,3,160,4,124,1,124,3,161,2, + 83,0,116,3,160,5,124,1,100,0,161,2,125,5,124,4, + 124,5,95,6,124,5,83,0,41,2,78,114,121,0,0,0, + 41,7,114,112,0,0,0,114,121,0,0,0,114,185,0,0, + 0,114,118,0,0,0,114,182,0,0,0,114,164,0,0,0, + 114,160,0,0,0,41,6,114,174,0,0,0,114,123,0,0, + 0,114,3,1,0,0,114,124,0,0,0,114,125,0,0,0, + 114,168,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 6,0,0,0,218,16,95,108,101,103,97,99,121,95,103,101, + 116,95,115,112,101,99,167,4,0,0,115,18,0,0,0,0, + 4,10,1,16,2,10,1,4,1,8,1,12,1,12,1,6, + 1,122,27,80,97,116,104,70,105,110,100,101,114,46,95,108, + 101,103,97,99,121,95,103,101,116,95,115,112,101,99,78,99, + 4,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0, + 67,0,0,0,115,170,0,0,0,103,0,125,4,120,160,124, + 2,68,0,93,130,125,5,116,0,124,5,116,1,116,2,102, + 2,131,2,115,30,113,10,124,0,160,3,124,5,161,1,125, + 6,124,6,100,1,107,9,114,10,116,4,124,6,100,2,131, + 2,114,72,124,6,160,5,124,1,124,3,161,2,125,7,110, + 12,124,0,160,6,124,1,124,6,161,2,125,7,124,7,100, + 1,107,8,114,94,113,10,124,7,106,7,100,1,107,9,114, + 108,124,7,83,0,124,7,106,8,125,8,124,8,100,1,107, + 8,114,130,116,9,100,3,131,1,130,1,124,4,160,10,124, + 8,161,1,1,0,113,10,87,0,116,11,160,12,124,1,100, + 1,161,2,125,7,124,4,124,7,95,8,124,7,83,0,100, + 1,83,0,41,4,122,63,70,105,110,100,32,116,104,101,32, + 108,111,97,100,101,114,32,111,114,32,110,97,109,101,115,112, + 97,99,101,95,112,97,116,104,32,102,111,114,32,116,104,105, + 115,32,109,111,100,117,108,101,47,112,97,99,107,97,103,101, + 32,110,97,109,101,46,78,114,184,0,0,0,122,19,115,112, + 101,99,32,109,105,115,115,105,110,103,32,108,111,97,100,101, + 114,41,13,114,143,0,0,0,114,73,0,0,0,218,5,98, + 121,116,101,115,114,8,1,0,0,114,112,0,0,0,114,184, + 0,0,0,114,9,1,0,0,114,124,0,0,0,114,160,0, + 0,0,114,103,0,0,0,114,149,0,0,0,114,118,0,0, + 0,114,164,0,0,0,41,9,114,174,0,0,0,114,123,0, + 0,0,114,37,0,0,0,114,183,0,0,0,218,14,110,97, + 109,101,115,112,97,99,101,95,112,97,116,104,90,5,101,110, + 116,114,121,114,3,1,0,0,114,168,0,0,0,114,125,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0, + 0,218,9,95,103,101,116,95,115,112,101,99,182,4,0,0, + 115,40,0,0,0,0,5,4,1,10,1,14,1,2,1,10, + 1,8,1,10,1,14,2,12,1,8,1,2,1,10,1,4, + 1,6,1,8,1,8,5,14,2,12,1,6,1,122,20,80, + 97,116,104,70,105,110,100,101,114,46,95,103,101,116,95,115, + 112,101,99,99,4,0,0,0,0,0,0,0,6,0,0,0, + 5,0,0,0,67,0,0,0,115,100,0,0,0,124,2,100, + 1,107,8,114,14,116,0,106,1,125,2,124,0,160,2,124, + 1,124,2,124,3,161,3,125,4,124,4,100,1,107,8,114, + 40,100,1,83,0,124,4,106,3,100,1,107,8,114,92,124, + 4,106,4,125,5,124,5,114,86,100,2,124,4,95,5,116, + 6,124,1,124,5,124,0,106,2,131,3,124,4,95,4,124, + 4,83,0,100,1,83,0,110,4,124,4,83,0,100,1,83, + 0,41,3,122,141,84,114,121,32,116,111,32,102,105,110,100, + 32,97,32,115,112,101,99,32,102,111,114,32,39,102,117,108, + 108,110,97,109,101,39,32,111,110,32,115,121,115,46,112,97, + 116,104,32,111,114,32,39,112,97,116,104,39,46,10,10,32, + 32,32,32,32,32,32,32,84,104,101,32,115,101,97,114,99, + 104,32,105,115,32,98,97,115,101,100,32,111,110,32,115,121, + 115,46,112,97,116,104,95,104,111,111,107,115,32,97,110,100, + 32,115,121,115,46,112,97,116,104,95,105,109,112,111,114,116, + 101,114,95,99,97,99,104,101,46,10,32,32,32,32,32,32, + 32,32,78,90,9,110,97,109,101,115,112,97,99,101,41,7, + 114,8,0,0,0,114,37,0,0,0,114,12,1,0,0,114, + 124,0,0,0,114,160,0,0,0,114,162,0,0,0,114,234, + 0,0,0,41,6,114,174,0,0,0,114,123,0,0,0,114, + 37,0,0,0,114,183,0,0,0,114,168,0,0,0,114,11, + 1,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, + 0,0,114,184,0,0,0,214,4,0,0,115,26,0,0,0, + 0,6,8,1,6,1,14,1,8,1,4,1,10,1,6,1, + 4,3,6,1,16,1,4,2,6,2,122,20,80,97,116,104, + 70,105,110,100,101,114,46,102,105,110,100,95,115,112,101,99, + 99,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0, + 0,67,0,0,0,115,30,0,0,0,124,0,160,0,124,1, + 124,2,161,2,125,3,124,3,100,1,107,8,114,24,100,1, + 83,0,124,3,106,1,83,0,41,2,122,170,102,105,110,100, + 32,116,104,101,32,109,111,100,117,108,101,32,111,110,32,115, + 121,115,46,112,97,116,104,32,111,114,32,39,112,97,116,104, + 39,32,98,97,115,101,100,32,111,110,32,115,121,115,46,112, + 97,116,104,95,104,111,111,107,115,32,97,110,100,10,32,32, + 32,32,32,32,32,32,115,121,115,46,112,97,116,104,95,105, + 109,112,111,114,116,101,114,95,99,97,99,104,101,46,10,10, 32,32,32,32,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,102,105,110,100,95,115,112,101, 99,40,41,32,105,110,115,116,101,97,100,46,10,10,32,32, - 32,32,32,32,32,32,78,41,3,114,178,0,0,0,114,124, - 0,0,0,114,154,0,0,0,41,3,114,104,0,0,0,114, - 123,0,0,0,114,162,0,0,0,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,114,121,0,0,0,194,4,0, - 0,115,8,0,0,0,0,7,10,1,8,1,8,1,122,22, - 70,105,108,101,70,105,110,100,101,114,46,102,105,110,100,95, - 108,111,97,100,101,114,99,6,0,0,0,0,0,0,0,7, - 0,0,0,6,0,0,0,67,0,0,0,115,26,0,0,0, - 124,1,124,2,124,3,131,2,125,6,116,0,124,2,124,3, - 124,6,124,4,100,1,141,4,83,0,41,2,78,41,2,114, - 124,0,0,0,114,154,0,0,0,41,1,114,165,0,0,0, - 41,7,114,104,0,0,0,114,163,0,0,0,114,123,0,0, - 0,114,37,0,0,0,90,4,115,109,115,108,114,177,0,0, - 0,114,124,0,0,0,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,114,3,1,0,0,206,4,0,0,115,6, - 0,0,0,0,1,10,1,8,1,122,20,70,105,108,101,70, - 105,110,100,101,114,46,95,103,101,116,95,115,112,101,99,78, - 99,3,0,0,0,0,0,0,0,14,0,0,0,16,0,0, - 0,67,0,0,0,115,98,1,0,0,100,1,125,3,124,1, - 160,0,100,2,161,1,100,3,25,0,125,4,121,24,116,1, - 124,0,106,2,112,34,116,3,160,4,161,0,131,1,106,5, - 125,5,87,0,110,24,4,0,116,6,107,10,114,66,1,0, - 1,0,1,0,100,10,125,5,89,0,110,2,88,0,124,5, - 124,0,106,7,107,3,114,92,124,0,160,8,161,0,1,0, - 124,5,124,0,95,7,116,9,131,0,114,114,124,0,106,10, - 125,6,124,4,160,11,161,0,125,7,110,10,124,0,106,12, - 125,6,124,4,125,7,124,7,124,6,107,6,114,218,116,13, - 124,0,106,2,124,4,131,2,125,8,120,72,124,0,106,14, - 68,0,93,54,92,2,125,9,125,10,100,5,124,9,23,0, - 125,11,116,13,124,8,124,11,131,2,125,12,116,15,124,12, - 131,1,114,152,124,0,160,16,124,10,124,1,124,12,124,8, - 103,1,124,2,161,5,83,0,113,152,87,0,116,17,124,8, - 131,1,125,3,120,88,124,0,106,14,68,0,93,78,92,2, - 125,9,125,10,116,13,124,0,106,2,124,4,124,9,23,0, - 131,2,125,12,116,18,106,19,100,6,124,12,100,3,100,7, - 141,3,1,0,124,7,124,9,23,0,124,6,107,6,114,226, - 116,15,124,12,131,1,114,226,124,0,160,16,124,10,124,1, - 124,12,100,8,124,2,161,5,83,0,113,226,87,0,124,3, - 144,1,114,94,116,18,160,19,100,9,124,8,161,2,1,0, - 116,18,160,20,124,1,100,8,161,2,125,13,124,8,103,1, - 124,13,95,21,124,13,83,0,100,8,83,0,41,11,122,111, - 84,114,121,32,116,111,32,102,105,110,100,32,97,32,115,112, - 101,99,32,102,111,114,32,116,104,101,32,115,112,101,99,105, - 102,105,101,100,32,109,111,100,117,108,101,46,10,10,32,32, - 32,32,32,32,32,32,82,101,116,117,114,110,115,32,116,104, - 101,32,109,97,116,99,104,105,110,103,32,115,112,101,99,44, - 32,111,114,32,78,111,110,101,32,105,102,32,110,111,116,32, - 102,111,117,110,100,46,10,32,32,32,32,32,32,32,32,70, - 114,61,0,0,0,114,59,0,0,0,114,31,0,0,0,114, - 182,0,0,0,122,9,116,114,121,105,110,103,32,123,125,41, - 1,90,9,118,101,114,98,111,115,105,116,121,78,122,25,112, - 111,115,115,105,98,108,101,32,110,97,109,101,115,112,97,99, - 101,32,102,111,114,32,123,125,114,91,0,0,0,41,22,114, - 34,0,0,0,114,41,0,0,0,114,37,0,0,0,114,3, - 0,0,0,114,47,0,0,0,114,215,0,0,0,114,42,0, - 0,0,114,6,1,0,0,218,11,95,102,105,108,108,95,99, - 97,99,104,101,114,7,0,0,0,114,9,1,0,0,114,92, - 0,0,0,114,8,1,0,0,114,30,0,0,0,114,5,1, - 0,0,114,46,0,0,0,114,3,1,0,0,114,48,0,0, - 0,114,118,0,0,0,114,133,0,0,0,114,158,0,0,0, - 114,154,0,0,0,41,14,114,104,0,0,0,114,123,0,0, - 0,114,177,0,0,0,90,12,105,115,95,110,97,109,101,115, - 112,97,99,101,90,11,116,97,105,108,95,109,111,100,117,108, - 101,114,130,0,0,0,90,5,99,97,99,104,101,90,12,99, - 97,99,104,101,95,109,111,100,117,108,101,90,9,98,97,115, - 101,95,112,97,116,104,114,221,0,0,0,114,163,0,0,0, - 90,13,105,110,105,116,95,102,105,108,101,110,97,109,101,90, - 9,102,117,108,108,95,112,97,116,104,114,162,0,0,0,114, - 4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,178, - 0,0,0,211,4,0,0,115,70,0,0,0,0,5,4,1, - 14,1,2,1,24,1,14,1,10,1,10,1,8,1,6,2, - 6,1,6,1,10,2,6,1,4,2,8,1,12,1,16,1, - 8,1,10,1,8,1,24,4,8,2,16,1,16,1,16,1, - 12,1,8,1,10,1,12,1,6,1,12,1,12,1,8,1, - 4,1,122,20,70,105,108,101,70,105,110,100,101,114,46,102, - 105,110,100,95,115,112,101,99,99,1,0,0,0,0,0,0, - 0,9,0,0,0,14,0,0,0,67,0,0,0,115,194,0, - 0,0,124,0,106,0,125,1,121,22,116,1,160,2,124,1, - 112,22,116,1,160,3,161,0,161,1,125,2,87,0,110,30, - 4,0,116,4,116,5,116,6,102,3,107,10,114,58,1,0, - 1,0,1,0,103,0,125,2,89,0,110,2,88,0,116,7, - 106,8,160,9,100,1,161,1,115,84,116,10,124,2,131,1, - 124,0,95,11,110,78,116,10,131,0,125,3,120,64,124,2, - 68,0,93,56,125,4,124,4,160,12,100,2,161,1,92,3, - 125,5,125,6,125,7,124,6,114,138,100,3,160,13,124,5, - 124,7,160,14,161,0,161,2,125,8,110,4,124,5,125,8, - 124,3,160,15,124,8,161,1,1,0,113,96,87,0,124,3, - 124,0,95,11,116,7,106,8,160,9,116,16,161,1,114,190, - 100,4,100,5,132,0,124,2,68,0,131,1,124,0,95,17, - 100,6,83,0,41,7,122,68,70,105,108,108,32,116,104,101, - 32,99,97,99,104,101,32,111,102,32,112,111,116,101,110,116, - 105,97,108,32,109,111,100,117,108,101,115,32,97,110,100,32, - 112,97,99,107,97,103,101,115,32,102,111,114,32,116,104,105, - 115,32,100,105,114,101,99,116,111,114,121,46,114,0,0,0, - 0,114,61,0,0,0,122,5,123,125,46,123,125,99,1,0, - 0,0,0,0,0,0,2,0,0,0,4,0,0,0,83,0, - 0,0,115,20,0,0,0,104,0,124,0,93,12,125,1,124, - 1,160,0,161,0,146,2,113,4,83,0,114,4,0,0,0, - 41,1,114,92,0,0,0,41,2,114,24,0,0,0,90,2, - 102,110,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,250,9,60,115,101,116,99,111,109,112,62,32,5,0,0, - 115,2,0,0,0,6,0,122,41,70,105,108,101,70,105,110, - 100,101,114,46,95,102,105,108,108,95,99,97,99,104,101,46, - 60,108,111,99,97,108,115,62,46,60,115,101,116,99,111,109, - 112,62,78,41,18,114,37,0,0,0,114,3,0,0,0,90, - 7,108,105,115,116,100,105,114,114,47,0,0,0,114,254,0, - 0,0,218,15,80,101,114,109,105,115,115,105,111,110,69,114, - 114,111,114,218,18,78,111,116,65,68,105,114,101,99,116,111, - 114,121,69,114,114,111,114,114,8,0,0,0,114,9,0,0, - 0,114,10,0,0,0,114,7,1,0,0,114,8,1,0,0, - 114,87,0,0,0,114,50,0,0,0,114,92,0,0,0,218, - 3,97,100,100,114,11,0,0,0,114,9,1,0,0,41,9, - 114,104,0,0,0,114,37,0,0,0,90,8,99,111,110,116, - 101,110,116,115,90,21,108,111,119,101,114,95,115,117,102,102, - 105,120,95,99,111,110,116,101,110,116,115,114,243,0,0,0, - 114,102,0,0,0,114,233,0,0,0,114,221,0,0,0,90, - 8,110,101,119,95,110,97,109,101,114,4,0,0,0,114,4, - 0,0,0,114,6,0,0,0,114,11,1,0,0,3,5,0, - 0,115,34,0,0,0,0,2,6,1,2,1,22,1,20,3, - 10,3,12,1,12,7,6,1,10,1,16,1,4,1,18,2, - 4,1,14,1,6,1,12,1,122,22,70,105,108,101,70,105, - 110,100,101,114,46,95,102,105,108,108,95,99,97,99,104,101, - 99,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0, - 0,7,0,0,0,115,18,0,0,0,135,0,135,1,102,2, - 100,1,100,2,132,8,125,2,124,2,83,0,41,3,97,20, - 1,0,0,65,32,99,108,97,115,115,32,109,101,116,104,111, - 100,32,119,104,105,99,104,32,114,101,116,117,114,110,115,32, - 97,32,99,108,111,115,117,114,101,32,116,111,32,117,115,101, - 32,111,110,32,115,121,115,46,112,97,116,104,95,104,111,111, - 107,10,32,32,32,32,32,32,32,32,119,104,105,99,104,32, - 119,105,108,108,32,114,101,116,117,114,110,32,97,110,32,105, - 110,115,116,97,110,99,101,32,117,115,105,110,103,32,116,104, - 101,32,115,112,101,99,105,102,105,101,100,32,108,111,97,100, - 101,114,115,32,97,110,100,32,116,104,101,32,112,97,116,104, - 10,32,32,32,32,32,32,32,32,99,97,108,108,101,100,32, - 111,110,32,116,104,101,32,99,108,111,115,117,114,101,46,10, - 10,32,32,32,32,32,32,32,32,73,102,32,116,104,101,32, - 112,97,116,104,32,99,97,108,108,101,100,32,111,110,32,116, - 104,101,32,99,108,111,115,117,114,101,32,105,115,32,110,111, - 116,32,97,32,100,105,114,101,99,116,111,114,121,44,32,73, - 109,112,111,114,116,69,114,114,111,114,32,105,115,10,32,32, - 32,32,32,32,32,32,114,97,105,115,101,100,46,10,10,32, - 32,32,32,32,32,32,32,99,1,0,0,0,0,0,0,0, - 1,0,0,0,4,0,0,0,19,0,0,0,115,34,0,0, - 0,116,0,124,0,131,1,115,20,116,1,100,1,124,0,100, - 2,141,2,130,1,136,0,124,0,102,1,136,1,158,2,142, - 0,83,0,41,3,122,45,80,97,116,104,32,104,111,111,107, - 32,102,111,114,32,105,109,112,111,114,116,108,105,98,46,109, - 97,99,104,105,110,101,114,121,46,70,105,108,101,70,105,110, - 100,101,114,46,122,30,111,110,108,121,32,100,105,114,101,99, - 116,111,114,105,101,115,32,97,114,101,32,115,117,112,112,111, - 114,116,101,100,41,1,114,37,0,0,0,41,2,114,48,0, - 0,0,114,103,0,0,0,41,1,114,37,0,0,0,41,2, - 114,168,0,0,0,114,10,1,0,0,114,4,0,0,0,114, - 6,0,0,0,218,24,112,97,116,104,95,104,111,111,107,95, - 102,111,114,95,70,105,108,101,70,105,110,100,101,114,44,5, - 0,0,115,6,0,0,0,0,2,8,1,12,1,122,54,70, - 105,108,101,70,105,110,100,101,114,46,112,97,116,104,95,104, - 111,111,107,46,60,108,111,99,97,108,115,62,46,112,97,116, - 104,95,104,111,111,107,95,102,111,114,95,70,105,108,101,70, - 105,110,100,101,114,114,4,0,0,0,41,3,114,168,0,0, - 0,114,10,1,0,0,114,16,1,0,0,114,4,0,0,0, - 41,2,114,168,0,0,0,114,10,1,0,0,114,6,0,0, - 0,218,9,112,97,116,104,95,104,111,111,107,34,5,0,0, - 115,4,0,0,0,0,10,14,6,122,20,70,105,108,101,70, - 105,110,100,101,114,46,112,97,116,104,95,104,111,111,107,99, - 1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, - 67,0,0,0,115,12,0,0,0,100,1,160,0,124,0,106, - 1,161,1,83,0,41,2,78,122,16,70,105,108,101,70,105, - 110,100,101,114,40,123,33,114,125,41,41,2,114,50,0,0, - 0,114,37,0,0,0,41,1,114,104,0,0,0,114,4,0, - 0,0,114,4,0,0,0,114,6,0,0,0,114,242,0,0, - 0,52,5,0,0,115,2,0,0,0,0,1,122,19,70,105, - 108,101,70,105,110,100,101,114,46,95,95,114,101,112,114,95, - 95,41,1,78,41,15,114,109,0,0,0,114,108,0,0,0, - 114,110,0,0,0,114,111,0,0,0,114,182,0,0,0,114, - 248,0,0,0,114,127,0,0,0,114,179,0,0,0,114,121, - 0,0,0,114,3,1,0,0,114,178,0,0,0,114,11,1, - 0,0,114,180,0,0,0,114,17,1,0,0,114,242,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0, - 114,6,0,0,0,114,4,1,0,0,165,4,0,0,115,18, - 0,0,0,12,9,8,14,8,4,4,2,8,12,8,5,10, - 48,8,31,12,18,114,4,1,0,0,99,4,0,0,0,0, - 0,0,0,6,0,0,0,11,0,0,0,67,0,0,0,115, - 146,0,0,0,124,0,160,0,100,1,161,1,125,4,124,0, - 160,0,100,2,161,1,125,5,124,4,115,66,124,5,114,36, - 124,5,106,1,125,4,110,30,124,2,124,3,107,2,114,56, - 116,2,124,1,124,2,131,2,125,4,110,10,116,3,124,1, - 124,2,131,2,125,4,124,5,115,84,116,4,124,1,124,2, - 124,4,100,3,141,3,125,5,121,36,124,5,124,0,100,2, - 60,0,124,4,124,0,100,1,60,0,124,2,124,0,100,4, - 60,0,124,3,124,0,100,5,60,0,87,0,110,20,4,0, - 116,5,107,10,114,140,1,0,1,0,1,0,89,0,110,2, - 88,0,100,0,83,0,41,6,78,218,10,95,95,108,111,97, - 100,101,114,95,95,218,8,95,95,115,112,101,99,95,95,41, - 1,114,124,0,0,0,90,8,95,95,102,105,108,101,95,95, - 90,10,95,95,99,97,99,104,101,100,95,95,41,6,218,3, - 103,101,116,114,124,0,0,0,114,219,0,0,0,114,214,0, - 0,0,114,165,0,0,0,218,9,69,120,99,101,112,116,105, - 111,110,41,6,90,2,110,115,114,102,0,0,0,90,8,112, - 97,116,104,110,97,109,101,90,9,99,112,97,116,104,110,97, - 109,101,114,124,0,0,0,114,162,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,218,14,95,102,105, - 120,95,117,112,95,109,111,100,117,108,101,58,5,0,0,115, - 34,0,0,0,0,2,10,1,10,1,4,1,4,1,8,1, - 8,1,12,2,10,1,4,1,14,1,2,1,8,1,8,1, - 8,1,12,1,14,2,114,22,1,0,0,99,0,0,0,0, + 32,32,32,32,32,32,78,41,2,114,184,0,0,0,114,124, + 0,0,0,41,4,114,174,0,0,0,114,123,0,0,0,114, + 37,0,0,0,114,168,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,6,0,0,0,114,185,0,0,0,238,4,0, + 0,115,8,0,0,0,0,8,12,1,8,1,4,1,122,22, + 80,97,116,104,70,105,110,100,101,114,46,102,105,110,100,95, + 109,111,100,117,108,101,41,1,78,41,2,78,78,41,1,78, + 41,12,114,109,0,0,0,114,108,0,0,0,114,110,0,0, + 0,114,111,0,0,0,114,186,0,0,0,114,0,1,0,0, + 114,5,1,0,0,114,8,1,0,0,114,9,1,0,0,114, + 12,1,0,0,114,184,0,0,0,114,185,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0, + 0,0,114,255,0,0,0,120,4,0,0,115,20,0,0,0, + 12,4,12,8,12,13,12,22,12,15,2,1,12,31,2,1, + 12,23,2,1,114,255,0,0,0,99,0,0,0,0,0,0, + 0,0,0,0,0,0,3,0,0,0,64,0,0,0,115,90, + 0,0,0,101,0,90,1,100,0,90,2,100,1,90,3,100, + 2,100,3,132,0,90,4,100,4,100,5,132,0,90,5,101, + 6,90,7,100,6,100,7,132,0,90,8,100,8,100,9,132, + 0,90,9,100,19,100,11,100,12,132,1,90,10,100,13,100, + 14,132,0,90,11,101,12,100,15,100,16,132,0,131,1,90, + 13,100,17,100,18,132,0,90,14,100,10,83,0,41,20,218, + 10,70,105,108,101,70,105,110,100,101,114,122,172,70,105,108, + 101,45,98,97,115,101,100,32,102,105,110,100,101,114,46,10, + 10,32,32,32,32,73,110,116,101,114,97,99,116,105,111,110, + 115,32,119,105,116,104,32,116,104,101,32,102,105,108,101,32, + 115,121,115,116,101,109,32,97,114,101,32,99,97,99,104,101, + 100,32,102,111,114,32,112,101,114,102,111,114,109,97,110,99, + 101,44,32,98,101,105,110,103,10,32,32,32,32,114,101,102, + 114,101,115,104,101,100,32,119,104,101,110,32,116,104,101,32, + 100,105,114,101,99,116,111,114,121,32,116,104,101,32,102,105, + 110,100,101,114,32,105,115,32,104,97,110,100,108,105,110,103, + 32,104,97,115,32,98,101,101,110,32,109,111,100,105,102,105, + 101,100,46,10,10,32,32,32,32,99,2,0,0,0,0,0, + 0,0,5,0,0,0,6,0,0,0,7,0,0,0,115,88, + 0,0,0,103,0,125,3,120,40,124,2,68,0,93,32,92, + 2,137,0,125,4,124,3,160,0,135,0,102,1,100,1,100, + 2,132,8,124,4,68,0,131,1,161,1,1,0,113,10,87, + 0,124,3,124,0,95,1,124,1,112,58,100,3,124,0,95, + 2,100,6,124,0,95,3,116,4,131,0,124,0,95,5,116, + 4,131,0,124,0,95,6,100,5,83,0,41,7,122,154,73, + 110,105,116,105,97,108,105,122,101,32,119,105,116,104,32,116, + 104,101,32,112,97,116,104,32,116,111,32,115,101,97,114,99, + 104,32,111,110,32,97,110,100,32,97,32,118,97,114,105,97, + 98,108,101,32,110,117,109,98,101,114,32,111,102,10,32,32, + 32,32,32,32,32,32,50,45,116,117,112,108,101,115,32,99, + 111,110,116,97,105,110,105,110,103,32,116,104,101,32,108,111, + 97,100,101,114,32,97,110,100,32,116,104,101,32,102,105,108, + 101,32,115,117,102,102,105,120,101,115,32,116,104,101,32,108, + 111,97,100,101,114,10,32,32,32,32,32,32,32,32,114,101, + 99,111,103,110,105,122,101,115,46,99,1,0,0,0,0,0, + 0,0,2,0,0,0,3,0,0,0,51,0,0,0,115,22, + 0,0,0,124,0,93,14,125,1,124,1,136,0,102,2,86, + 0,1,0,113,2,100,0,83,0,41,1,78,114,4,0,0, + 0,41,2,114,24,0,0,0,114,229,0,0,0,41,1,114, + 124,0,0,0,114,4,0,0,0,114,6,0,0,0,114,231, + 0,0,0,11,5,0,0,115,2,0,0,0,4,0,122,38, + 70,105,108,101,70,105,110,100,101,114,46,95,95,105,110,105, + 116,95,95,46,60,108,111,99,97,108,115,62,46,60,103,101, + 110,101,120,112,114,62,114,61,0,0,0,114,31,0,0,0, + 78,114,91,0,0,0,41,7,114,149,0,0,0,218,8,95, + 108,111,97,100,101,114,115,114,37,0,0,0,218,11,95,112, + 97,116,104,95,109,116,105,109,101,218,3,115,101,116,218,11, + 95,112,97,116,104,95,99,97,99,104,101,218,19,95,114,101, + 108,97,120,101,100,95,112,97,116,104,95,99,97,99,104,101, + 41,5,114,104,0,0,0,114,37,0,0,0,218,14,108,111, + 97,100,101,114,95,100,101,116,97,105,108,115,90,7,108,111, + 97,100,101,114,115,114,170,0,0,0,114,4,0,0,0,41, + 1,114,124,0,0,0,114,6,0,0,0,114,188,0,0,0, + 5,5,0,0,115,16,0,0,0,0,4,4,1,14,1,28, + 1,6,2,10,1,6,1,8,1,122,19,70,105,108,101,70, + 105,110,100,101,114,46,95,95,105,110,105,116,95,95,99,1, + 0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67, + 0,0,0,115,10,0,0,0,100,3,124,0,95,0,100,2, + 83,0,41,4,122,31,73,110,118,97,108,105,100,97,116,101, + 32,116,104,101,32,100,105,114,101,99,116,111,114,121,32,109, + 116,105,109,101,46,114,31,0,0,0,78,114,91,0,0,0, + 41,1,114,15,1,0,0,41,1,114,104,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,6,0,0,0,114,0,1, + 0,0,19,5,0,0,115,2,0,0,0,0,2,122,28,70, + 105,108,101,70,105,110,100,101,114,46,105,110,118,97,108,105, + 100,97,116,101,95,99,97,99,104,101,115,99,2,0,0,0, 0,0,0,0,3,0,0,0,3,0,0,0,67,0,0,0, - 115,38,0,0,0,116,0,116,1,160,2,161,0,102,2,125, - 0,116,3,116,4,102,2,125,1,116,5,116,6,102,2,125, - 2,124,0,124,1,124,2,103,3,83,0,41,1,122,95,82, - 101,116,117,114,110,115,32,97,32,108,105,115,116,32,111,102, - 32,102,105,108,101,45,98,97,115,101,100,32,109,111,100,117, - 108,101,32,108,111,97,100,101,114,115,46,10,10,32,32,32, - 32,69,97,99,104,32,105,116,101,109,32,105,115,32,97,32, - 116,117,112,108,101,32,40,108,111,97,100,101,114,44,32,115, - 117,102,102,105,120,101,115,41,46,10,32,32,32,32,41,7, - 114,220,0,0,0,114,143,0,0,0,218,18,101,120,116,101, - 110,115,105,111,110,95,115,117,102,102,105,120,101,115,114,214, - 0,0,0,114,88,0,0,0,114,219,0,0,0,114,78,0, - 0,0,41,3,90,10,101,120,116,101,110,115,105,111,110,115, - 90,6,115,111,117,114,99,101,90,8,98,121,116,101,99,111, - 100,101,114,4,0,0,0,114,4,0,0,0,114,6,0,0, - 0,114,159,0,0,0,81,5,0,0,115,8,0,0,0,0, - 5,12,1,8,1,8,1,114,159,0,0,0,99,1,0,0, - 0,0,0,0,0,12,0,0,0,12,0,0,0,67,0,0, - 0,115,156,1,0,0,124,0,97,0,116,0,106,1,97,1, - 116,0,106,2,97,2,116,1,106,3,116,4,25,0,125,1, - 120,56,100,26,68,0,93,48,125,2,124,2,116,1,106,3, - 107,7,114,58,116,0,160,5,124,2,161,1,125,3,110,10, - 116,1,106,3,124,2,25,0,125,3,116,6,124,1,124,2, - 124,3,131,3,1,0,113,32,87,0,100,5,100,6,103,1, - 102,2,100,7,100,8,100,6,103,2,102,2,102,2,125,4, - 120,118,124,4,68,0,93,102,92,2,125,5,125,6,116,7, - 100,9,100,10,132,0,124,6,68,0,131,1,131,1,115,142, - 116,8,130,1,124,6,100,11,25,0,125,7,124,5,116,1, - 106,3,107,6,114,174,116,1,106,3,124,5,25,0,125,8, - 80,0,113,112,121,16,116,0,160,5,124,5,161,1,125,8, - 80,0,87,0,113,112,4,0,116,9,107,10,114,212,1,0, - 1,0,1,0,119,112,89,0,113,112,88,0,113,112,87,0, - 116,9,100,12,131,1,130,1,116,6,124,1,100,13,124,8, - 131,3,1,0,116,6,124,1,100,14,124,7,131,3,1,0, - 116,6,124,1,100,15,100,16,160,10,124,6,161,1,131,3, - 1,0,116,0,160,5,100,17,161,1,125,9,116,6,124,1, - 100,17,124,9,131,3,1,0,116,0,160,5,100,18,161,1, - 125,10,116,6,124,1,100,18,124,10,131,3,1,0,124,5, - 100,7,107,2,144,1,114,88,116,0,160,5,100,19,161,1, - 125,11,116,6,124,1,100,20,124,11,131,3,1,0,116,6, - 124,1,100,21,116,11,131,0,131,3,1,0,116,12,160,13, - 116,2,160,14,161,0,161,1,1,0,124,5,100,7,107,2, - 144,1,114,152,116,15,160,16,100,22,161,1,1,0,100,23, - 116,12,107,6,144,1,114,152,100,24,116,17,95,18,100,25, - 83,0,41,27,122,205,83,101,116,117,112,32,116,104,101,32, - 112,97,116,104,45,98,97,115,101,100,32,105,109,112,111,114, - 116,101,114,115,32,102,111,114,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,10,32,32,32,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,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,79, - 116,104,101,114,32,99,111,109,112,111,110,101,110,116,115,32, - 97,114,101,32,101,120,116,114,97,99,116,101,100,32,102,114, - 111,109,32,116,104,101,32,99,111,114,101,32,98,111,111,116, - 115,116,114,97,112,32,109,111,100,117,108,101,46,10,10,32, - 32,32,32,114,52,0,0,0,114,63,0,0,0,218,8,98, - 117,105,108,116,105,110,115,114,140,0,0,0,90,5,112,111, - 115,105,120,250,1,47,90,2,110,116,250,1,92,99,1,0, - 0,0,0,0,0,0,2,0,0,0,3,0,0,0,115,0, - 0,0,115,26,0,0,0,124,0,93,18,125,1,116,0,124, - 1,131,1,100,0,107,2,86,0,1,0,113,2,100,1,83, - 0,41,2,114,31,0,0,0,78,41,1,114,33,0,0,0, - 41,2,114,24,0,0,0,114,81,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,6,0,0,0,114,223,0,0,0, - 117,5,0,0,115,2,0,0,0,4,0,122,25,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,114,62,0,0,0,122,30,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,114,3,0,0,0, - 114,27,0,0,0,114,23,0,0,0,114,32,0,0,0,90, - 7,95,116,104,114,101,97,100,90,8,95,119,101,97,107,114, - 101,102,90,6,119,105,110,114,101,103,114,167,0,0,0,114, - 7,0,0,0,122,4,46,112,121,119,122,6,95,100,46,112, - 121,100,84,78,41,4,114,52,0,0,0,114,63,0,0,0, - 114,24,1,0,0,114,140,0,0,0,41,19,114,118,0,0, - 0,114,8,0,0,0,114,143,0,0,0,114,235,0,0,0, - 114,109,0,0,0,90,18,95,98,117,105,108,116,105,110,95, - 102,114,111,109,95,110,97,109,101,114,113,0,0,0,218,3, - 97,108,108,218,14,65,115,115,101,114,116,105,111,110,69,114, - 114,111,114,114,103,0,0,0,114,28,0,0,0,114,13,0, - 0,0,114,225,0,0,0,114,147,0,0,0,114,23,1,0, - 0,114,88,0,0,0,114,161,0,0,0,114,166,0,0,0, - 114,170,0,0,0,41,12,218,17,95,98,111,111,116,115,116, - 114,97,112,95,109,111,100,117,108,101,90,11,115,101,108,102, - 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,90,10,111,115,95,100,101,116,97,105,108, - 115,90,10,98,117,105,108,116,105,110,95,111,115,114,23,0, - 0,0,114,27,0,0,0,90,9,111,115,95,109,111,100,117, - 108,101,90,13,116,104,114,101,97,100,95,109,111,100,117,108, - 101,90,14,119,101,97,107,114,101,102,95,109,111,100,117,108, - 101,90,13,119,105,110,114,101,103,95,109,111,100,117,108,101, - 114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,218, - 6,95,115,101,116,117,112,92,5,0,0,115,76,0,0,0, - 0,8,4,1,6,1,6,3,10,1,10,1,10,1,12,2, - 10,1,16,3,22,1,14,2,22,1,8,1,10,1,10,1, - 4,2,2,1,10,1,6,1,14,1,12,2,8,1,12,1, - 12,1,18,3,10,1,12,3,10,1,12,3,10,1,10,1, - 12,3,14,1,14,1,10,1,10,1,10,1,114,30,1,0, - 0,99,1,0,0,0,0,0,0,0,2,0,0,0,4,0, - 0,0,67,0,0,0,115,50,0,0,0,116,0,124,0,131, - 1,1,0,116,1,131,0,125,1,116,2,106,3,160,4,116, - 5,106,6,124,1,142,0,103,1,161,1,1,0,116,2,106, - 7,160,8,116,9,161,1,1,0,100,1,83,0,41,2,122, - 41,73,110,115,116,97,108,108,32,116,104,101,32,112,97,116, - 104,45,98,97,115,101,100,32,105,109,112,111,114,116,32,99, - 111,109,112,111,110,101,110,116,115,46,78,41,10,114,30,1, - 0,0,114,159,0,0,0,114,8,0,0,0,114,252,0,0, - 0,114,147,0,0,0,114,4,1,0,0,114,17,1,0,0, - 218,9,109,101,116,97,95,112,97,116,104,114,161,0,0,0, - 114,247,0,0,0,41,2,114,29,1,0,0,90,17,115,117, - 112,112,111,114,116,101,100,95,108,111,97,100,101,114,115,114, - 4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,8, - 95,105,110,115,116,97,108,108,156,5,0,0,115,8,0,0, - 0,0,2,8,1,6,1,20,1,114,32,1,0,0,41,1, - 114,0,0,0,0,41,2,114,1,0,0,0,114,2,0,0, - 0,41,1,114,49,0,0,0,41,1,78,41,3,78,78,78, - 41,3,78,78,78,41,2,114,62,0,0,0,114,62,0,0, - 0,41,1,78,41,1,78,41,58,114,111,0,0,0,114,12, - 0,0,0,90,37,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, - 95,66,89,84,69,83,95,75,69,89,114,11,0,0,0,114, - 13,0,0,0,114,19,0,0,0,114,21,0,0,0,114,30, - 0,0,0,114,40,0,0,0,114,41,0,0,0,114,45,0, - 0,0,114,46,0,0,0,114,48,0,0,0,114,58,0,0, - 0,218,4,116,121,112,101,218,8,95,95,99,111,100,101,95, - 95,114,142,0,0,0,114,17,0,0,0,114,132,0,0,0, - 114,16,0,0,0,114,20,0,0,0,90,17,95,82,65,87, - 95,77,65,71,73,67,95,78,85,77,66,69,82,114,77,0, - 0,0,114,76,0,0,0,114,88,0,0,0,114,78,0,0, - 0,90,23,68,69,66,85,71,95,66,89,84,69,67,79,68, - 69,95,83,85,70,70,73,88,69,83,90,27,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,114,83,0,0,0,114,89,0,0, - 0,114,95,0,0,0,114,99,0,0,0,114,101,0,0,0, - 114,120,0,0,0,114,127,0,0,0,114,139,0,0,0,114, - 145,0,0,0,114,148,0,0,0,114,153,0,0,0,218,6, - 111,98,106,101,99,116,114,160,0,0,0,114,165,0,0,0, - 114,166,0,0,0,114,181,0,0,0,114,191,0,0,0,114, - 206,0,0,0,114,214,0,0,0,114,219,0,0,0,114,225, - 0,0,0,114,220,0,0,0,114,226,0,0,0,114,245,0, - 0,0,114,247,0,0,0,114,4,1,0,0,114,22,1,0, - 0,114,159,0,0,0,114,30,1,0,0,114,32,1,0,0, - 114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114, - 6,0,0,0,218,8,60,109,111,100,117,108,101,62,24,0, - 0,0,115,108,0,0,0,4,0,4,1,4,1,2,1,6, - 3,8,17,8,5,8,5,8,6,8,12,8,10,8,9,8, - 5,8,7,10,22,10,125,16,1,12,2,4,1,4,2,6, - 2,6,2,8,2,16,45,8,34,8,19,8,12,8,12,8, - 28,8,17,10,55,10,12,10,10,8,14,6,3,4,1,14, - 67,14,64,14,29,16,110,14,41,18,45,18,16,4,3,18, - 53,14,60,14,42,14,127,0,5,14,127,0,22,10,23,8, - 11,8,64, + 115,42,0,0,0,124,0,160,0,124,1,161,1,125,2,124, + 2,100,1,107,8,114,26,100,1,103,0,102,2,83,0,124, + 2,106,1,124,2,106,2,112,38,103,0,102,2,83,0,41, + 2,122,197,84,114,121,32,116,111,32,102,105,110,100,32,97, + 32,108,111,97,100,101,114,32,102,111,114,32,116,104,101,32, + 115,112,101,99,105,102,105,101,100,32,109,111,100,117,108,101, + 44,32,111,114,32,116,104,101,32,110,97,109,101,115,112,97, + 99,101,10,32,32,32,32,32,32,32,32,112,97,99,107,97, + 103,101,32,112,111,114,116,105,111,110,115,46,32,82,101,116, + 117,114,110,115,32,40,108,111,97,100,101,114,44,32,108,105, + 115,116,45,111,102,45,112,111,114,116,105,111,110,115,41,46, + 10,10,32,32,32,32,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,102,105,110,100,95,115, + 112,101,99,40,41,32,105,110,115,116,101,97,100,46,10,10, + 32,32,32,32,32,32,32,32,78,41,3,114,184,0,0,0, + 114,124,0,0,0,114,160,0,0,0,41,3,114,104,0,0, + 0,114,123,0,0,0,114,168,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,114,121,0,0,0,25, + 5,0,0,115,8,0,0,0,0,7,10,1,8,1,8,1, + 122,22,70,105,108,101,70,105,110,100,101,114,46,102,105,110, + 100,95,108,111,97,100,101,114,99,6,0,0,0,0,0,0, + 0,7,0,0,0,6,0,0,0,67,0,0,0,115,26,0, + 0,0,124,1,124,2,124,3,131,2,125,6,116,0,124,2, + 124,3,124,6,124,4,100,1,141,4,83,0,41,2,78,41, + 2,114,124,0,0,0,114,160,0,0,0,41,1,114,171,0, + 0,0,41,7,114,104,0,0,0,114,169,0,0,0,114,123, + 0,0,0,114,37,0,0,0,90,4,115,109,115,108,114,183, + 0,0,0,114,124,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,6,0,0,0,114,12,1,0,0,37,5,0,0, + 115,6,0,0,0,0,1,10,1,8,1,122,20,70,105,108, + 101,70,105,110,100,101,114,46,95,103,101,116,95,115,112,101, + 99,78,99,3,0,0,0,0,0,0,0,14,0,0,0,16, + 0,0,0,67,0,0,0,115,98,1,0,0,100,1,125,3, + 124,1,160,0,100,2,161,1,100,3,25,0,125,4,121,24, + 116,1,124,0,106,2,112,34,116,3,160,4,161,0,131,1, + 106,5,125,5,87,0,110,24,4,0,116,6,107,10,114,66, + 1,0,1,0,1,0,100,10,125,5,89,0,110,2,88,0, + 124,5,124,0,106,7,107,3,114,92,124,0,160,8,161,0, + 1,0,124,5,124,0,95,7,116,9,131,0,114,114,124,0, + 106,10,125,6,124,4,160,11,161,0,125,7,110,10,124,0, + 106,12,125,6,124,4,125,7,124,7,124,6,107,6,114,218, + 116,13,124,0,106,2,124,4,131,2,125,8,120,72,124,0, + 106,14,68,0,93,54,92,2,125,9,125,10,100,5,124,9, + 23,0,125,11,116,13,124,8,124,11,131,2,125,12,116,15, + 124,12,131,1,114,152,124,0,160,16,124,10,124,1,124,12, + 124,8,103,1,124,2,161,5,83,0,113,152,87,0,116,17, + 124,8,131,1,125,3,120,88,124,0,106,14,68,0,93,78, + 92,2,125,9,125,10,116,13,124,0,106,2,124,4,124,9, + 23,0,131,2,125,12,116,18,106,19,100,6,124,12,100,3, + 100,7,141,3,1,0,124,7,124,9,23,0,124,6,107,6, + 114,226,116,15,124,12,131,1,114,226,124,0,160,16,124,10, + 124,1,124,12,100,8,124,2,161,5,83,0,113,226,87,0, + 124,3,144,1,114,94,116,18,160,19,100,9,124,8,161,2, + 1,0,116,18,160,20,124,1,100,8,161,2,125,13,124,8, + 103,1,124,13,95,21,124,13,83,0,100,8,83,0,41,11, + 122,111,84,114,121,32,116,111,32,102,105,110,100,32,97,32, + 115,112,101,99,32,102,111,114,32,116,104,101,32,115,112,101, + 99,105,102,105,101,100,32,109,111,100,117,108,101,46,10,10, + 32,32,32,32,32,32,32,32,82,101,116,117,114,110,115,32, + 116,104,101,32,109,97,116,99,104,105,110,103,32,115,112,101, + 99,44,32,111,114,32,78,111,110,101,32,105,102,32,110,111, + 116,32,102,111,117,110,100,46,10,32,32,32,32,32,32,32, + 32,70,114,61,0,0,0,114,59,0,0,0,114,31,0,0, + 0,114,188,0,0,0,122,9,116,114,121,105,110,103,32,123, + 125,41,1,90,9,118,101,114,98,111,115,105,116,121,78,122, + 25,112,111,115,115,105,98,108,101,32,110,97,109,101,115,112, + 97,99,101,32,102,111,114,32,123,125,114,91,0,0,0,41, + 22,114,34,0,0,0,114,41,0,0,0,114,37,0,0,0, + 114,3,0,0,0,114,47,0,0,0,114,223,0,0,0,114, + 42,0,0,0,114,15,1,0,0,218,11,95,102,105,108,108, + 95,99,97,99,104,101,114,7,0,0,0,114,18,1,0,0, + 114,92,0,0,0,114,17,1,0,0,114,30,0,0,0,114, + 14,1,0,0,114,46,0,0,0,114,12,1,0,0,114,48, + 0,0,0,114,118,0,0,0,114,132,0,0,0,114,164,0, + 0,0,114,160,0,0,0,41,14,114,104,0,0,0,114,123, + 0,0,0,114,183,0,0,0,90,12,105,115,95,110,97,109, + 101,115,112,97,99,101,90,11,116,97,105,108,95,109,111,100, + 117,108,101,114,151,0,0,0,90,5,99,97,99,104,101,90, + 12,99,97,99,104,101,95,109,111,100,117,108,101,90,9,98, + 97,115,101,95,112,97,116,104,114,229,0,0,0,114,169,0, + 0,0,90,13,105,110,105,116,95,102,105,108,101,110,97,109, + 101,90,9,102,117,108,108,95,112,97,116,104,114,168,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0, + 114,184,0,0,0,42,5,0,0,115,70,0,0,0,0,5, + 4,1,14,1,2,1,24,1,14,1,10,1,10,1,8,1, + 6,2,6,1,6,1,10,2,6,1,4,2,8,1,12,1, + 16,1,8,1,10,1,8,1,24,4,8,2,16,1,16,1, + 16,1,12,1,8,1,10,1,12,1,6,1,12,1,12,1, + 8,1,4,1,122,20,70,105,108,101,70,105,110,100,101,114, + 46,102,105,110,100,95,115,112,101,99,99,1,0,0,0,0, + 0,0,0,9,0,0,0,14,0,0,0,67,0,0,0,115, + 194,0,0,0,124,0,106,0,125,1,121,22,116,1,160,2, + 124,1,112,22,116,1,160,3,161,0,161,1,125,2,87,0, + 110,30,4,0,116,4,116,5,116,6,102,3,107,10,114,58, + 1,0,1,0,1,0,103,0,125,2,89,0,110,2,88,0, + 116,7,106,8,160,9,100,1,161,1,115,84,116,10,124,2, + 131,1,124,0,95,11,110,78,116,10,131,0,125,3,120,64, + 124,2,68,0,93,56,125,4,124,4,160,12,100,2,161,1, + 92,3,125,5,125,6,125,7,124,6,114,138,100,3,160,13, + 124,5,124,7,160,14,161,0,161,2,125,8,110,4,124,5, + 125,8,124,3,160,15,124,8,161,1,1,0,113,96,87,0, + 124,3,124,0,95,11,116,7,106,8,160,9,116,16,161,1, + 114,190,100,4,100,5,132,0,124,2,68,0,131,1,124,0, + 95,17,100,6,83,0,41,7,122,68,70,105,108,108,32,116, + 104,101,32,99,97,99,104,101,32,111,102,32,112,111,116,101, + 110,116,105,97,108,32,109,111,100,117,108,101,115,32,97,110, + 100,32,112,97,99,107,97,103,101,115,32,102,111,114,32,116, + 104,105,115,32,100,105,114,101,99,116,111,114,121,46,114,0, + 0,0,0,114,61,0,0,0,122,5,123,125,46,123,125,99, + 1,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, + 83,0,0,0,115,20,0,0,0,104,0,124,0,93,12,125, + 1,124,1,160,0,161,0,146,2,113,4,83,0,114,4,0, + 0,0,41,1,114,92,0,0,0,41,2,114,24,0,0,0, + 90,2,102,110,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,250,9,60,115,101,116,99,111,109,112,62,119,5, + 0,0,115,2,0,0,0,6,0,122,41,70,105,108,101,70, + 105,110,100,101,114,46,95,102,105,108,108,95,99,97,99,104, + 101,46,60,108,111,99,97,108,115,62,46,60,115,101,116,99, + 111,109,112,62,78,41,18,114,37,0,0,0,114,3,0,0, + 0,90,7,108,105,115,116,100,105,114,114,47,0,0,0,114, + 6,1,0,0,218,15,80,101,114,109,105,115,115,105,111,110, + 69,114,114,111,114,218,18,78,111,116,65,68,105,114,101,99, + 116,111,114,121,69,114,114,111,114,114,8,0,0,0,114,9, + 0,0,0,114,10,0,0,0,114,16,1,0,0,114,17,1, + 0,0,114,87,0,0,0,114,50,0,0,0,114,92,0,0, + 0,218,3,97,100,100,114,11,0,0,0,114,18,1,0,0, + 41,9,114,104,0,0,0,114,37,0,0,0,90,8,99,111, + 110,116,101,110,116,115,90,21,108,111,119,101,114,95,115,117, + 102,102,105,120,95,99,111,110,116,101,110,116,115,114,251,0, + 0,0,114,102,0,0,0,114,241,0,0,0,114,229,0,0, + 0,90,8,110,101,119,95,110,97,109,101,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,114,20,1,0,0,90, + 5,0,0,115,34,0,0,0,0,2,6,1,2,1,22,1, + 20,3,10,3,12,1,12,7,6,1,10,1,16,1,4,1, + 18,2,4,1,14,1,6,1,12,1,122,22,70,105,108,101, + 70,105,110,100,101,114,46,95,102,105,108,108,95,99,97,99, + 104,101,99,1,0,0,0,0,0,0,0,3,0,0,0,3, + 0,0,0,7,0,0,0,115,18,0,0,0,135,0,135,1, + 102,2,100,1,100,2,132,8,125,2,124,2,83,0,41,3, + 97,20,1,0,0,65,32,99,108,97,115,115,32,109,101,116, + 104,111,100,32,119,104,105,99,104,32,114,101,116,117,114,110, + 115,32,97,32,99,108,111,115,117,114,101,32,116,111,32,117, + 115,101,32,111,110,32,115,121,115,46,112,97,116,104,95,104, + 111,111,107,10,32,32,32,32,32,32,32,32,119,104,105,99, + 104,32,119,105,108,108,32,114,101,116,117,114,110,32,97,110, + 32,105,110,115,116,97,110,99,101,32,117,115,105,110,103,32, + 116,104,101,32,115,112,101,99,105,102,105,101,100,32,108,111, + 97,100,101,114,115,32,97,110,100,32,116,104,101,32,112,97, + 116,104,10,32,32,32,32,32,32,32,32,99,97,108,108,101, + 100,32,111,110,32,116,104,101,32,99,108,111,115,117,114,101, + 46,10,10,32,32,32,32,32,32,32,32,73,102,32,116,104, + 101,32,112,97,116,104,32,99,97,108,108,101,100,32,111,110, + 32,116,104,101,32,99,108,111,115,117,114,101,32,105,115,32, + 110,111,116,32,97,32,100,105,114,101,99,116,111,114,121,44, + 32,73,109,112,111,114,116,69,114,114,111,114,32,105,115,10, + 32,32,32,32,32,32,32,32,114,97,105,115,101,100,46,10, + 10,32,32,32,32,32,32,32,32,99,1,0,0,0,0,0, + 0,0,1,0,0,0,4,0,0,0,19,0,0,0,115,34, + 0,0,0,116,0,124,0,131,1,115,20,116,1,100,1,124, + 0,100,2,141,2,130,1,136,0,124,0,102,1,136,1,158, + 2,142,0,83,0,41,3,122,45,80,97,116,104,32,104,111, + 111,107,32,102,111,114,32,105,109,112,111,114,116,108,105,98, + 46,109,97,99,104,105,110,101,114,121,46,70,105,108,101,70, + 105,110,100,101,114,46,122,30,111,110,108,121,32,100,105,114, + 101,99,116,111,114,105,101,115,32,97,114,101,32,115,117,112, + 112,111,114,116,101,100,41,1,114,37,0,0,0,41,2,114, + 48,0,0,0,114,103,0,0,0,41,1,114,37,0,0,0, + 41,2,114,174,0,0,0,114,19,1,0,0,114,4,0,0, + 0,114,6,0,0,0,218,24,112,97,116,104,95,104,111,111, + 107,95,102,111,114,95,70,105,108,101,70,105,110,100,101,114, + 131,5,0,0,115,6,0,0,0,0,2,8,1,12,1,122, + 54,70,105,108,101,70,105,110,100,101,114,46,112,97,116,104, + 95,104,111,111,107,46,60,108,111,99,97,108,115,62,46,112, + 97,116,104,95,104,111,111,107,95,102,111,114,95,70,105,108, + 101,70,105,110,100,101,114,114,4,0,0,0,41,3,114,174, + 0,0,0,114,19,1,0,0,114,25,1,0,0,114,4,0, + 0,0,41,2,114,174,0,0,0,114,19,1,0,0,114,6, + 0,0,0,218,9,112,97,116,104,95,104,111,111,107,121,5, + 0,0,115,4,0,0,0,0,10,14,6,122,20,70,105,108, + 101,70,105,110,100,101,114,46,112,97,116,104,95,104,111,111, + 107,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,67,0,0,0,115,12,0,0,0,100,1,160,0,124, + 0,106,1,161,1,83,0,41,2,78,122,16,70,105,108,101, + 70,105,110,100,101,114,40,123,33,114,125,41,41,2,114,50, + 0,0,0,114,37,0,0,0,41,1,114,104,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,250, + 0,0,0,139,5,0,0,115,2,0,0,0,0,1,122,19, + 70,105,108,101,70,105,110,100,101,114,46,95,95,114,101,112, + 114,95,95,41,1,78,41,15,114,109,0,0,0,114,108,0, + 0,0,114,110,0,0,0,114,111,0,0,0,114,188,0,0, + 0,114,0,1,0,0,114,127,0,0,0,114,185,0,0,0, + 114,121,0,0,0,114,12,1,0,0,114,184,0,0,0,114, + 20,1,0,0,114,186,0,0,0,114,26,1,0,0,114,250, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,6,0,0,0,114,13,1,0,0,252,4,0,0, + 115,18,0,0,0,12,9,8,14,8,4,4,2,8,12,8, + 5,10,48,8,31,12,18,114,13,1,0,0,99,4,0,0, + 0,0,0,0,0,6,0,0,0,11,0,0,0,67,0,0, + 0,115,146,0,0,0,124,0,160,0,100,1,161,1,125,4, + 124,0,160,0,100,2,161,1,125,5,124,4,115,66,124,5, + 114,36,124,5,106,1,125,4,110,30,124,2,124,3,107,2, + 114,56,116,2,124,1,124,2,131,2,125,4,110,10,116,3, + 124,1,124,2,131,2,125,4,124,5,115,84,116,4,124,1, + 124,2,124,4,100,3,141,3,125,5,121,36,124,5,124,0, + 100,2,60,0,124,4,124,0,100,1,60,0,124,2,124,0, + 100,4,60,0,124,3,124,0,100,5,60,0,87,0,110,20, + 4,0,116,5,107,10,114,140,1,0,1,0,1,0,89,0, + 110,2,88,0,100,0,83,0,41,6,78,218,10,95,95,108, + 111,97,100,101,114,95,95,218,8,95,95,115,112,101,99,95, + 95,41,1,114,124,0,0,0,90,8,95,95,102,105,108,101, + 95,95,90,10,95,95,99,97,99,104,101,100,95,95,41,6, + 218,3,103,101,116,114,124,0,0,0,114,227,0,0,0,114, + 222,0,0,0,114,171,0,0,0,218,9,69,120,99,101,112, + 116,105,111,110,41,6,90,2,110,115,114,102,0,0,0,90, + 8,112,97,116,104,110,97,109,101,90,9,99,112,97,116,104, + 110,97,109,101,114,124,0,0,0,114,168,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,6,0,0,0,218,14,95, + 102,105,120,95,117,112,95,109,111,100,117,108,101,145,5,0, + 0,115,34,0,0,0,0,2,10,1,10,1,4,1,4,1, + 8,1,8,1,12,2,10,1,4,1,14,1,2,1,8,1, + 8,1,8,1,12,1,14,2,114,31,1,0,0,99,0,0, + 0,0,0,0,0,0,3,0,0,0,3,0,0,0,67,0, + 0,0,115,38,0,0,0,116,0,116,1,160,2,161,0,102, + 2,125,0,116,3,116,4,102,2,125,1,116,5,116,6,102, + 2,125,2,124,0,124,1,124,2,103,3,83,0,41,1,122, + 95,82,101,116,117,114,110,115,32,97,32,108,105,115,116,32, + 111,102,32,102,105,108,101,45,98,97,115,101,100,32,109,111, + 100,117,108,101,32,108,111,97,100,101,114,115,46,10,10,32, + 32,32,32,69,97,99,104,32,105,116,101,109,32,105,115,32, + 97,32,116,117,112,108,101,32,40,108,111,97,100,101,114,44, + 32,115,117,102,102,105,120,101,115,41,46,10,32,32,32,32, + 41,7,114,228,0,0,0,114,145,0,0,0,218,18,101,120, + 116,101,110,115,105,111,110,95,115,117,102,102,105,120,101,115, + 114,222,0,0,0,114,88,0,0,0,114,227,0,0,0,114, + 78,0,0,0,41,3,90,10,101,120,116,101,110,115,105,111, + 110,115,90,6,115,111,117,114,99,101,90,8,98,121,116,101, + 99,111,100,101,114,4,0,0,0,114,4,0,0,0,114,6, + 0,0,0,114,165,0,0,0,168,5,0,0,115,8,0,0, + 0,0,5,12,1,8,1,8,1,114,165,0,0,0,99,1, + 0,0,0,0,0,0,0,12,0,0,0,12,0,0,0,67, + 0,0,0,115,156,1,0,0,124,0,97,0,116,0,106,1, + 97,1,116,0,106,2,97,2,116,1,106,3,116,4,25,0, + 125,1,120,56,100,26,68,0,93,48,125,2,124,2,116,1, + 106,3,107,7,114,58,116,0,160,5,124,2,161,1,125,3, + 110,10,116,1,106,3,124,2,25,0,125,3,116,6,124,1, + 124,2,124,3,131,3,1,0,113,32,87,0,100,5,100,6, + 103,1,102,2,100,7,100,8,100,6,103,2,102,2,102,2, + 125,4,120,118,124,4,68,0,93,102,92,2,125,5,125,6, + 116,7,100,9,100,10,132,0,124,6,68,0,131,1,131,1, + 115,142,116,8,130,1,124,6,100,11,25,0,125,7,124,5, + 116,1,106,3,107,6,114,174,116,1,106,3,124,5,25,0, + 125,8,80,0,113,112,121,16,116,0,160,5,124,5,161,1, + 125,8,80,0,87,0,113,112,4,0,116,9,107,10,114,212, + 1,0,1,0,1,0,119,112,89,0,113,112,88,0,113,112, + 87,0,116,9,100,12,131,1,130,1,116,6,124,1,100,13, + 124,8,131,3,1,0,116,6,124,1,100,14,124,7,131,3, + 1,0,116,6,124,1,100,15,100,16,160,10,124,6,161,1, + 131,3,1,0,116,0,160,5,100,17,161,1,125,9,116,6, + 124,1,100,17,124,9,131,3,1,0,116,0,160,5,100,18, + 161,1,125,10,116,6,124,1,100,18,124,10,131,3,1,0, + 124,5,100,7,107,2,144,1,114,88,116,0,160,5,100,19, + 161,1,125,11,116,6,124,1,100,20,124,11,131,3,1,0, + 116,6,124,1,100,21,116,11,131,0,131,3,1,0,116,12, + 160,13,116,2,160,14,161,0,161,1,1,0,124,5,100,7, + 107,2,144,1,114,152,116,15,160,16,100,22,161,1,1,0, + 100,23,116,12,107,6,144,1,114,152,100,24,116,17,95,18, + 100,25,83,0,41,27,122,205,83,101,116,117,112,32,116,104, + 101,32,112,97,116,104,45,98,97,115,101,100,32,105,109,112, + 111,114,116,101,114,115,32,102,111,114,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,10,32,32,32,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, + 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,79,116,104,101,114,32,99,111,109,112,111,110,101,110,116, + 115,32,97,114,101,32,101,120,116,114,97,99,116,101,100,32, + 102,114,111,109,32,116,104,101,32,99,111,114,101,32,98,111, + 111,116,115,116,114,97,112,32,109,111,100,117,108,101,46,10, + 10,32,32,32,32,114,52,0,0,0,114,63,0,0,0,218, + 8,98,117,105,108,116,105,110,115,114,142,0,0,0,90,5, + 112,111,115,105,120,250,1,47,90,2,110,116,250,1,92,99, + 1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 115,0,0,0,115,26,0,0,0,124,0,93,18,125,1,116, + 0,124,1,131,1,100,0,107,2,86,0,1,0,113,2,100, + 1,83,0,41,2,114,31,0,0,0,78,41,1,114,33,0, + 0,0,41,2,114,24,0,0,0,114,81,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,6,0,0,0,114,231,0, + 0,0,204,5,0,0,115,2,0,0,0,4,0,122,25,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,114,62,0,0,0,122,30,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,114,3,0, + 0,0,114,27,0,0,0,114,23,0,0,0,114,32,0,0, + 0,90,7,95,116,104,114,101,97,100,90,8,95,119,101,97, + 107,114,101,102,90,6,119,105,110,114,101,103,114,173,0,0, + 0,114,7,0,0,0,122,4,46,112,121,119,122,6,95,100, + 46,112,121,100,84,78,41,4,114,52,0,0,0,114,63,0, + 0,0,114,33,1,0,0,114,142,0,0,0,41,19,114,118, + 0,0,0,114,8,0,0,0,114,145,0,0,0,114,243,0, + 0,0,114,109,0,0,0,90,18,95,98,117,105,108,116,105, + 110,95,102,114,111,109,95,110,97,109,101,114,113,0,0,0, + 218,3,97,108,108,114,153,0,0,0,114,103,0,0,0,114, + 28,0,0,0,114,13,0,0,0,114,233,0,0,0,114,149, + 0,0,0,114,32,1,0,0,114,88,0,0,0,114,167,0, + 0,0,114,172,0,0,0,114,176,0,0,0,41,12,218,17, + 95,98,111,111,116,115,116,114,97,112,95,109,111,100,117,108, + 101,90,11,115,101,108,102,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,90,10,111,115, + 95,100,101,116,97,105,108,115,90,10,98,117,105,108,116,105, + 110,95,111,115,114,23,0,0,0,114,27,0,0,0,90,9, + 111,115,95,109,111,100,117,108,101,90,13,116,104,114,101,97, + 100,95,109,111,100,117,108,101,90,14,119,101,97,107,114,101, + 102,95,109,111,100,117,108,101,90,13,119,105,110,114,101,103, + 95,109,111,100,117,108,101,114,4,0,0,0,114,4,0,0, + 0,114,6,0,0,0,218,6,95,115,101,116,117,112,179,5, + 0,0,115,76,0,0,0,0,8,4,1,6,1,6,3,10, + 1,10,1,10,1,12,2,10,1,16,3,22,1,14,2,22, + 1,8,1,10,1,10,1,4,2,2,1,10,1,6,1,14, + 1,12,2,8,1,12,1,12,1,18,3,10,1,12,3,10, + 1,12,3,10,1,10,1,12,3,14,1,14,1,10,1,10, + 1,10,1,114,38,1,0,0,99,1,0,0,0,0,0,0, + 0,2,0,0,0,4,0,0,0,67,0,0,0,115,50,0, + 0,0,116,0,124,0,131,1,1,0,116,1,131,0,125,1, + 116,2,106,3,160,4,116,5,106,6,124,1,142,0,103,1, + 161,1,1,0,116,2,106,7,160,8,116,9,161,1,1,0, + 100,1,83,0,41,2,122,41,73,110,115,116,97,108,108,32, + 116,104,101,32,112,97,116,104,45,98,97,115,101,100,32,105, + 109,112,111,114,116,32,99,111,109,112,111,110,101,110,116,115, + 46,78,41,10,114,38,1,0,0,114,165,0,0,0,114,8, + 0,0,0,114,4,1,0,0,114,149,0,0,0,114,13,1, + 0,0,114,26,1,0,0,218,9,109,101,116,97,95,112,97, + 116,104,114,167,0,0,0,114,255,0,0,0,41,2,114,37, + 1,0,0,90,17,115,117,112,112,111,114,116,101,100,95,108, + 111,97,100,101,114,115,114,4,0,0,0,114,4,0,0,0, + 114,6,0,0,0,218,8,95,105,110,115,116,97,108,108,243, + 5,0,0,115,8,0,0,0,0,2,8,1,6,1,20,1, + 114,40,1,0,0,41,1,114,0,0,0,0,41,2,114,1, + 0,0,0,114,2,0,0,0,41,1,114,49,0,0,0,41, + 1,78,41,3,78,78,78,41,2,114,62,0,0,0,114,62, + 0,0,0,41,1,84,41,1,78,41,1,78,41,61,114,111, + 0,0,0,114,12,0,0,0,90,37,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,95,66,89,84,69,83,95,75,69,89,114, + 11,0,0,0,114,13,0,0,0,114,19,0,0,0,114,21, + 0,0,0,114,30,0,0,0,114,40,0,0,0,114,41,0, + 0,0,114,45,0,0,0,114,46,0,0,0,114,48,0,0, + 0,114,58,0,0,0,218,4,116,121,112,101,218,8,95,95, + 99,111,100,101,95,95,114,144,0,0,0,114,17,0,0,0, + 114,131,0,0,0,114,16,0,0,0,114,20,0,0,0,114, + 211,0,0,0,114,77,0,0,0,114,76,0,0,0,114,88, + 0,0,0,114,78,0,0,0,90,23,68,69,66,85,71,95, + 66,89,84,69,67,79,68,69,95,83,85,70,70,73,88,69, + 83,90,27,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,114,83, + 0,0,0,114,89,0,0,0,114,95,0,0,0,114,99,0, + 0,0,114,101,0,0,0,114,120,0,0,0,114,127,0,0, + 0,114,135,0,0,0,114,139,0,0,0,114,141,0,0,0, + 114,147,0,0,0,114,152,0,0,0,114,154,0,0,0,114, + 159,0,0,0,218,6,111,98,106,101,99,116,114,166,0,0, + 0,114,171,0,0,0,114,172,0,0,0,114,187,0,0,0, + 114,197,0,0,0,114,214,0,0,0,114,222,0,0,0,114, + 227,0,0,0,114,233,0,0,0,114,228,0,0,0,114,234, + 0,0,0,114,253,0,0,0,114,255,0,0,0,114,13,1, + 0,0,114,31,1,0,0,114,165,0,0,0,114,38,1,0, + 0,114,40,1,0,0,114,4,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,6,0,0,0,218,8,60,109,111,100, + 117,108,101,62,24,0,0,0,115,116,0,0,0,4,0,4, + 1,4,1,2,1,6,3,8,17,8,5,8,5,8,6,8, + 12,8,10,8,9,8,5,8,7,10,22,10,126,16,1,12, + 2,4,1,4,2,6,2,6,2,8,2,16,45,8,34,8, + 19,8,12,8,12,8,28,8,17,8,33,8,28,8,24,10, + 13,10,10,10,11,8,14,6,3,4,1,14,67,14,64,14, + 29,16,127,0,17,14,41,18,45,18,26,4,3,18,53,14, + 60,14,42,14,127,0,5,14,127,0,22,10,23,8,11,8, + 64, }; diff --git a/Python/pyhash.c b/Python/pyhash.c index aa49eeb35bb..bc6786c7b8b 100644 --- a/Python/pyhash.c +++ b/Python/pyhash.c @@ -284,7 +284,6 @@ static PyHash_FuncDef PyHash_Func = {fnv, "fnv", 8 * SIZEOF_PY_HASH_T, #endif /* Py_HASH_ALGORITHM == Py_HASH_FNV */ -#if Py_HASH_ALGORITHM == Py_HASH_SIPHASH24 /* ************************************************************************** Copyright (c) 2013 Marek Majkowski @@ -364,10 +363,10 @@ static PyHash_FuncDef PyHash_Func = {fnv, "fnv", 8 * SIZEOF_PY_HASH_T, HALF_ROUND(v2,v1,v0,v3,17,21); -static Py_hash_t -siphash24(const void *src, Py_ssize_t src_sz) { - uint64_t k0 = _le64toh(_Py_HashSecret.siphash.k0); - uint64_t k1 = _le64toh(_Py_HashSecret.siphash.k1); +static uint64_t +siphash24(uint64_t key0, uint64_t key1, const void *src, Py_ssize_t src_sz) { + uint64_t k0 = _le64toh(key0); + uint64_t k1 = _le64toh(key1); uint64_t b = (uint64_t)src_sz << 56; const uint64_t *in = (uint64_t*)src; @@ -412,12 +411,26 @@ siphash24(const void *src, Py_ssize_t src_sz) { /* modified */ t = (v0 ^ v1) ^ (v2 ^ v3); - return (Py_hash_t)t; + return t; } -static PyHash_FuncDef PyHash_Func = {siphash24, "siphash24", 64, 128}; +static Py_hash_t +pysiphash(const void *src, Py_ssize_t src_sz) { + return (Py_hash_t)siphash24( + _Py_HashSecret.siphash.k0, _Py_HashSecret.siphash.k1, + src, src_sz); +} -#endif /* Py_HASH_ALGORITHM == Py_HASH_SIPHASH24 */ +uint64_t +_Py_KeyedHash(uint64_t key, const void *src, Py_ssize_t src_sz) +{ + return siphash24(key, 0, src, src_sz); +} + + +#if Py_HASH_ALGORITHM == Py_HASH_SIPHASH24 +static PyHash_FuncDef PyHash_Func = {pysiphash, "siphash24", 64, 128}; +#endif #ifdef __cplusplus } diff --git a/Python/pythonrun.c b/Python/pythonrun.c index b5285754ab0..26f74c80d03 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -1053,7 +1053,8 @@ run_pyc_file(FILE *fp, const char *filename, PyObject *globals, "Bad magic number in .pyc file"); return NULL; } - /* Skip mtime and size */ + /* Skip the rest of the header. */ + (void) PyMarshal_ReadLongFromFile(fp); (void) PyMarshal_ReadLongFromFile(fp); (void) PyMarshal_ReadLongFromFile(fp); if (PyErr_Occurred())