summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/Python-ast.c24
-rw-r--r--Python/README1
-rw-r--r--Python/_warnings.c13
-rw-r--r--Python/asdl.c16
-rw-r--r--Python/ast.c8
-rw-r--r--Python/bltinmodule.c1567
-rw-r--r--Python/ceval.c76
-rw-r--r--Python/ceval_gil.h4
-rw-r--r--Python/clinic/import.c.h323
-rw-r--r--Python/codecs.c199
-rw-r--r--Python/compile.c14
-rw-r--r--Python/dynload_win.c21
-rw-r--r--Python/errors.c25
-rw-r--r--Python/fileutils.c120
-rw-r--r--Python/formatter_unicode.c7
-rw-r--r--Python/frozenmain.c2
-rw-r--r--Python/getargs.c32
-rw-r--r--Python/graminit.c435
-rw-r--r--Python/import.c349
-rw-r--r--Python/importlib.h7902
-rw-r--r--Python/marshal.c205
-rw-r--r--Python/opcode_targets.h4
-rw-r--r--Python/pylifecycle.c1502
-rw-r--r--Python/pystate.c4
-rw-r--r--Python/pythonrun.c1471
-rw-r--r--Python/pytime.c304
-rw-r--r--Python/sysmodule.c13
-rw-r--r--Python/thread.c2
-rw-r--r--Python/thread_foobar.h63
-rw-r--r--Python/thread_pthread.h10
-rw-r--r--Python/traceback.c11
31 files changed, 8079 insertions, 6648 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c
index 44fdafc..994e721 100644
--- a/Python/Python-ast.c
+++ b/Python/Python-ast.c
@@ -349,13 +349,14 @@ static PyTypeObject *And_type;
static PyTypeObject *Or_type;
static PyTypeObject *operator_type;
static PyObject *Add_singleton, *Sub_singleton, *Mult_singleton,
-*Div_singleton, *Mod_singleton, *Pow_singleton, *LShift_singleton,
-*RShift_singleton, *BitOr_singleton, *BitXor_singleton, *BitAnd_singleton,
-*FloorDiv_singleton;
+*MatMult_singleton, *Div_singleton, *Mod_singleton, *Pow_singleton,
+*LShift_singleton, *RShift_singleton, *BitOr_singleton, *BitXor_singleton,
+*BitAnd_singleton, *FloorDiv_singleton;
static PyObject* ast2obj_operator(operator_ty);
static PyTypeObject *Add_type;
static PyTypeObject *Sub_type;
static PyTypeObject *Mult_type;
+static PyTypeObject *MatMult_type;
static PyTypeObject *Div_type;
static PyTypeObject *Mod_type;
static PyTypeObject *Pow_type;
@@ -970,6 +971,10 @@ static int init_types(void)
if (!Mult_type) return 0;
Mult_singleton = PyType_GenericNew(Mult_type, NULL, NULL);
if (!Mult_singleton) return 0;
+ MatMult_type = make_type("MatMult", operator_type, NULL, 0);
+ if (!MatMult_type) return 0;
+ MatMult_singleton = PyType_GenericNew(MatMult_type, NULL, NULL);
+ if (!MatMult_singleton) return 0;
Div_type = make_type("Div", operator_type, NULL, 0);
if (!Div_type) return 0;
Div_singleton = PyType_GenericNew(Div_type, NULL, NULL);
@@ -3232,6 +3237,9 @@ PyObject* ast2obj_operator(operator_ty o)
case Mult:
Py_INCREF(Mult_singleton);
return Mult_singleton;
+ case MatMult:
+ Py_INCREF(MatMult_singleton);
+ return MatMult_singleton;
case Div:
Py_INCREF(Div_singleton);
return Div_singleton;
@@ -6175,6 +6183,14 @@ obj2ast_operator(PyObject* obj, operator_ty* out, PyArena* arena)
*out = Mult;
return 0;
}
+ isinstance = PyObject_IsInstance(obj, (PyObject *)MatMult_type);
+ if (isinstance == -1) {
+ return 1;
+ }
+ if (isinstance) {
+ *out = MatMult;
+ return 0;
+ }
isinstance = PyObject_IsInstance(obj, (PyObject *)Div_type);
if (isinstance == -1) {
return 1;
@@ -6956,6 +6972,8 @@ PyInit__ast(void)
if (PyDict_SetItemString(d, "Add", (PyObject*)Add_type) < 0) return NULL;
if (PyDict_SetItemString(d, "Sub", (PyObject*)Sub_type) < 0) return NULL;
if (PyDict_SetItemString(d, "Mult", (PyObject*)Mult_type) < 0) return NULL;
+ if (PyDict_SetItemString(d, "MatMult", (PyObject*)MatMult_type) < 0) return
+ NULL;
if (PyDict_SetItemString(d, "Div", (PyObject*)Div_type) < 0) return NULL;
if (PyDict_SetItemString(d, "Mod", (PyObject*)Mod_type) < 0) return NULL;
if (PyDict_SetItemString(d, "Pow", (PyObject*)Pow_type) < 0) return NULL;
diff --git a/Python/README b/Python/README
new file mode 100644
index 0000000..153b628
--- /dev/null
+++ b/Python/README
@@ -0,0 +1 @@
+Miscellaneous source files for the main Python shared library
diff --git a/Python/_warnings.c b/Python/_warnings.c
index bef5647..a1f4368 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -637,16 +637,17 @@ get_category(PyObject *message, PyObject *category)
if (rc == 1)
category = (PyObject*)message->ob_type;
- else if (category == NULL)
+ else if (category == NULL || category == Py_None)
category = PyExc_UserWarning;
/* Validate category. */
rc = PyObject_IsSubclass(category, PyExc_Warning);
- if (rc == -1)
- return NULL;
- if (rc == 0) {
- PyErr_SetString(PyExc_ValueError,
- "category is not a subclass of Warning");
+ /* category is not a subclass of PyExc_Warning or
+ PyObject_IsSubclass raised an error */
+ if (rc == -1 || rc == 0) {
+ PyErr_Format(PyExc_TypeError,
+ "category must be a Warning subclass, not '%s'",
+ Py_TYPE(category)->tp_name);
return NULL;
}
diff --git a/Python/asdl.c b/Python/asdl.c
index 74fa941..df387b2 100644
--- a/Python/asdl.c
+++ b/Python/asdl.c
@@ -5,21 +5,21 @@ asdl_seq *
_Py_asdl_seq_new(Py_ssize_t size, PyArena *arena)
{
asdl_seq *seq = NULL;
- size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);
+ size_t n;
/* check size is sane */
- if (size < 0 || size == INT_MIN ||
- (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
+ if (size < 0 ||
+ (size && (((size_t)size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
PyErr_NoMemory();
return NULL;
}
+ n = (size ? (sizeof(void *) * (size - 1)) : 0);
/* check if size can be added safely */
if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {
PyErr_NoMemory();
return NULL;
}
-
n += sizeof(asdl_seq);
seq = (asdl_seq *)PyArena_Malloc(arena, n);
@@ -36,21 +36,21 @@ asdl_int_seq *
_Py_asdl_int_seq_new(Py_ssize_t size, PyArena *arena)
{
asdl_int_seq *seq = NULL;
- size_t n = (size ? (sizeof(void *) * (size - 1)) : 0);
+ size_t n;
/* check size is sane */
- if (size < 0 || size == INT_MIN ||
- (size && ((size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
+ if (size < 0 ||
+ (size && (((size_t)size - 1) > (PY_SIZE_MAX / sizeof(void *))))) {
PyErr_NoMemory();
return NULL;
}
+ n = (size ? (sizeof(void *) * (size - 1)) : 0);
/* check if size can be added safely */
if (n > PY_SIZE_MAX - sizeof(asdl_seq)) {
PyErr_NoMemory();
return NULL;
}
-
n += sizeof(asdl_seq);
seq = (asdl_int_seq *)PyArena_Malloc(arena, n);
diff --git a/Python/ast.c b/Python/ast.c
index d50cb80..2f1ae60 100644
--- a/Python/ast.c
+++ b/Python/ast.c
@@ -825,6 +825,8 @@ get_operator(const node *n)
return Sub;
case STAR:
return Mult;
+ case AT:
+ return MatMult;
case SLASH:
return Div;
case DOUBLESLASH:
@@ -1030,6 +1032,8 @@ ast_for_augassign(struct compiling *c, const node *n)
return Pow;
else
return Mult;
+ case '@':
+ return MatMult;
default:
PyErr_Format(PyExc_SystemError, "invalid augassign: %s", STR(n));
return (operator_ty)0;
@@ -2257,7 +2261,7 @@ ast_for_expr(struct compiling *c, const node *n)
and_expr: shift_expr ('&' shift_expr)*
shift_expr: arith_expr (('<<'|'>>') arith_expr)*
arith_expr: term (('+'|'-') term)*
- term: factor (('*'|'/'|'%'|'//') factor)*
+ term: factor (('*'|'@'|'/'|'%'|'//') factor)*
factor: ('+'|'-'|'~') factor | power
power: atom trailer* ('**' factor)*
*/
@@ -2568,7 +2572,7 @@ ast_for_expr_stmt(struct compiling *c, const node *n)
/* expr_stmt: testlist_star_expr (augassign (yield_expr|testlist)
| ('=' (yield_expr|testlist))*)
testlist_star_expr: (test|star_expr) (',' test|star_expr)* [',']
- augassign: '+=' | '-=' | '*=' | '/=' | '%=' | '&=' | '|=' | '^='
+ augassign: '+=' | '-=' | '*=' | '@=' | '/=' | '%=' | '&=' | '|=' | '^='
| '<<=' | '>>=' | '**=' | '//='
test: ... here starts the operator precendence dance
*/
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 4b4f979..f9bb388 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -46,6 +46,7 @@ _Py_IDENTIFIER(stdin);
_Py_IDENTIFIER(stdout);
_Py_IDENTIFIER(stderr);
+/* AC: cannot convert yet, waiting for *args support */
static PyObject *
builtin___build_class__(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -229,25 +230,62 @@ absolute or relative imports. 0 is absolute while a positive number\n\
is the number of parent directories to search relative to the current module.");
+/*[clinic input]
+abs as builtin_abs
+
+ x: 'O'
+ /
+
+Return the absolute value of the argument.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_abs__doc__,
+"abs($module, x, /)\n"
+"--\n"
+"\n"
+"Return the absolute value of the argument.");
+
+#define BUILTIN_ABS_METHODDEF \
+ {"abs", (PyCFunction)builtin_abs, METH_O, builtin_abs__doc__},
+
static PyObject *
-builtin_abs(PyObject *self, PyObject *v)
+builtin_abs(PyModuleDef *module, PyObject *x)
+/*[clinic end generated code: output=f85095528ce7e2e5 input=aa29cc07869b4732]*/
{
- return PyNumber_Absolute(v);
+ return PyNumber_Absolute(x);
}
-PyDoc_STRVAR(abs_doc,
-"abs(number) -> number\n\
-\n\
-Return the absolute value of the argument.");
+/*[clinic input]
+all as builtin_all
+
+ iterable: 'O'
+ /
+
+Return True if bool(x) is True for all values x in the iterable.
+
+If the iterable is empty, return True.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_all__doc__,
+"all($module, iterable, /)\n"
+"--\n"
+"\n"
+"Return True if bool(x) is True for all values x in the iterable.\n"
+"\n"
+"If the iterable is empty, return True.");
+
+#define BUILTIN_ALL_METHODDEF \
+ {"all", (PyCFunction)builtin_all, METH_O, builtin_all__doc__},
static PyObject *
-builtin_all(PyObject *self, PyObject *v)
+builtin_all(PyModuleDef *module, PyObject *iterable)
+/*[clinic end generated code: output=d001db739ba83b46 input=dd506dc9998d42bd]*/
{
PyObject *it, *item;
PyObject *(*iternext)(PyObject *);
int cmp;
- it = PyObject_GetIter(v);
+ it = PyObject_GetIter(iterable);
if (it == NULL)
return NULL;
iternext = *Py_TYPE(it)->tp_iternext;
@@ -277,20 +315,37 @@ builtin_all(PyObject *self, PyObject *v)
Py_RETURN_TRUE;
}
-PyDoc_STRVAR(all_doc,
-"all(iterable) -> bool\n\
-\n\
-Return True if bool(x) is True for all values x in the iterable.\n\
-If the iterable is empty, return True.");
+/*[clinic input]
+any as builtin_any
+
+ iterable: 'O'
+ /
+
+Return True if bool(x) is True for any x in the iterable.
+
+If the iterable is empty, return False.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_any__doc__,
+"any($module, iterable, /)\n"
+"--\n"
+"\n"
+"Return True if bool(x) is True for any x in the iterable.\n"
+"\n"
+"If the iterable is empty, return False.");
+
+#define BUILTIN_ANY_METHODDEF \
+ {"any", (PyCFunction)builtin_any, METH_O, builtin_any__doc__},
static PyObject *
-builtin_any(PyObject *self, PyObject *v)
+builtin_any(PyModuleDef *module, PyObject *iterable)
+/*[clinic end generated code: output=3a4b6dbe6a0d6f61 input=8fe8460f3fbbced8]*/
{
PyObject *it, *item;
PyObject *(*iternext)(PyObject *);
int cmp;
- it = PyObject_GetIter(v);
+ it = PyObject_GetIter(iterable);
if (it == NULL)
return NULL;
iternext = *Py_TYPE(it)->tp_iternext;
@@ -320,56 +375,105 @@ builtin_any(PyObject *self, PyObject *v)
Py_RETURN_FALSE;
}
-PyDoc_STRVAR(any_doc,
-"any(iterable) -> bool\n\
-\n\
-Return True if bool(x) is True for any x in the iterable.\n\
-If the iterable is empty, return False.");
+/*[clinic input]
+ascii as builtin_ascii
+
+ obj: 'O'
+ /
+
+Return an ASCII-only representation of an object.
+
+As repr(), return a string containing a printable representation of an
+object, but escape the non-ASCII characters in the string returned by
+repr() using \\x, \\u or \\U escapes. This generates a string similar
+to that returned by repr() in Python 2.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_ascii__doc__,
+"ascii($module, obj, /)\n"
+"--\n"
+"\n"
+"Return an ASCII-only representation of an object.\n"
+"\n"
+"As repr(), return a string containing a printable representation of an\n"
+"object, but escape the non-ASCII characters in the string returned by\n"
+"repr() using \\\\x, \\\\u or \\\\U escapes. This generates a string similar\n"
+"to that returned by repr() in Python 2.");
+
+#define BUILTIN_ASCII_METHODDEF \
+ {"ascii", (PyCFunction)builtin_ascii, METH_O, builtin_ascii__doc__},
static PyObject *
-builtin_ascii(PyObject *self, PyObject *v)
+builtin_ascii(PyModuleDef *module, PyObject *obj)
+/*[clinic end generated code: output=f0e6754154c2d30b input=0cbdc1420a306325]*/
{
- return PyObject_ASCII(v);
+ return PyObject_ASCII(obj);
}
-PyDoc_STRVAR(ascii_doc,
-"ascii(object) -> string\n\
-\n\
-As repr(), return a string containing a printable representation of an\n\
-object, but escape the non-ASCII characters in the string returned by\n\
-repr() using \\x, \\u or \\U escapes. This generates a string similar\n\
-to that returned by repr() in Python 2.");
+/*[clinic input]
+bin as builtin_bin
+
+ number: 'O'
+ /
+
+Return the binary representation of an integer.
+
+ >>> bin(2796202)
+ '0b1010101010101010101010'
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_bin__doc__,
+"bin($module, number, /)\n"
+"--\n"
+"\n"
+"Return the binary representation of an integer.\n"
+"\n"
+" >>> bin(2796202)\n"
+" \'0b1010101010101010101010\'");
+
+#define BUILTIN_BIN_METHODDEF \
+ {"bin", (PyCFunction)builtin_bin, METH_O, builtin_bin__doc__},
static PyObject *
-builtin_bin(PyObject *self, PyObject *v)
+builtin_bin(PyModuleDef *module, PyObject *number)
+/*[clinic end generated code: output=18fed0e943650da1 input=2a6362ae9a9c9203]*/
{
- return PyNumber_ToBase(v, 2);
+ return PyNumber_ToBase(number, 2);
}
-PyDoc_STRVAR(bin_doc,
-"bin(number) -> string\n\
-\n\
-Return the binary representation of an integer.\n\
-\n\
- >>> bin(2796202)\n\
- '0b1010101010101010101010'\n\
-");
+/*[clinic input]
+callable as builtin_callable
+
+ obj: 'O'
+ /
+
+Return whether the object is callable (i.e., some kind of function).
+
+Note that classes are callable, as are instances of classes with a
+__call__() method.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_callable__doc__,
+"callable($module, obj, /)\n"
+"--\n"
+"\n"
+"Return whether the object is callable (i.e., some kind of function).\n"
+"\n"
+"Note that classes are callable, as are instances of classes with a\n"
+"__call__() method.");
+
+#define BUILTIN_CALLABLE_METHODDEF \
+ {"callable", (PyCFunction)builtin_callable, METH_O, builtin_callable__doc__},
static PyObject *
-builtin_callable(PyObject *self, PyObject *v)
+builtin_callable(PyModuleDef *module, PyObject *obj)
+/*[clinic end generated code: output=b3a92cbe635f32af input=bb3bb528fffdade4]*/
{
- return PyBool_FromLong((long)PyCallable_Check(v));
+ return PyBool_FromLong((long)PyCallable_Check(obj));
}
-PyDoc_STRVAR(callable_doc,
-"callable(object) -> bool\n\
-\n\
-Return whether the object is callable (i.e., some kind of function).\n\
-Note that classes are callable, as are instances of classes with a\n\
-__call__() method.");
-
typedef struct {
PyObject_HEAD
@@ -524,39 +628,99 @@ PyTypeObject PyFilter_Type = {
};
+/*[clinic input]
+format as builtin_format
+
+ value: 'O'
+ format_spec: unicode(c_default="NULL") = ''
+ /
+
+Return value.__format__(format_spec)
+
+format_spec defaults to the empty string
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_format__doc__,
+"format($module, value, format_spec=\'\', /)\n"
+"--\n"
+"\n"
+"Return value.__format__(format_spec)\n"
+"\n"
+"format_spec defaults to the empty string");
+
+#define BUILTIN_FORMAT_METHODDEF \
+ {"format", (PyCFunction)builtin_format, METH_VARARGS, builtin_format__doc__},
+
+static PyObject *
+builtin_format_impl(PyModuleDef *module, PyObject *value, PyObject *format_spec);
+
static PyObject *
-builtin_format(PyObject *self, PyObject *args)
+builtin_format(PyModuleDef *module, PyObject *args)
{
+ PyObject *return_value = NULL;
PyObject *value;
PyObject *format_spec = NULL;
- if (!PyArg_ParseTuple(args, "O|U:format", &value, &format_spec))
- return NULL;
+ if (!PyArg_ParseTuple(args,
+ "O|U:format",
+ &value, &format_spec))
+ goto exit;
+ return_value = builtin_format_impl(module, value, format_spec);
+
+exit:
+ return return_value;
+}
+static PyObject *
+builtin_format_impl(PyModuleDef *module, PyObject *value, PyObject *format_spec)
+/*[clinic end generated code: output=39723a58c72e8871 input=e23f2f11e0098c64]*/
+{
return PyObject_Format(value, format_spec);
}
-PyDoc_STRVAR(format_doc,
-"format(value[, format_spec]) -> string\n\
-\n\
-Returns value.__format__(format_spec)\n\
-format_spec defaults to \"\"");
+/*[clinic input]
+chr as builtin_chr
+
+ i: 'i'
+ /
+
+Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_chr__doc__,
+"chr($module, i, /)\n"
+"--\n"
+"\n"
+"Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.");
+
+#define BUILTIN_CHR_METHODDEF \
+ {"chr", (PyCFunction)builtin_chr, METH_VARARGS, builtin_chr__doc__},
+
+static PyObject *
+builtin_chr_impl(PyModuleDef *module, int i);
static PyObject *
-builtin_chr(PyObject *self, PyObject *args)
+builtin_chr(PyModuleDef *module, PyObject *args)
{
- int x;
+ PyObject *return_value = NULL;
+ int i;
- if (!PyArg_ParseTuple(args, "i:chr", &x))
- return NULL;
+ if (!PyArg_ParseTuple(args,
+ "i:chr",
+ &i))
+ goto exit;
+ return_value = builtin_chr_impl(module, i);
- return PyUnicode_FromOrdinal(x);
+exit:
+ return return_value;
}
-PyDoc_STRVAR(chr_doc,
-"chr(i) -> Unicode character\n\
-\n\
-Return a Unicode string of one character with ordinal i; 0 <= i <= 0x10ffff.");
+static PyObject *
+builtin_chr_impl(PyModuleDef *module, int i)
+/*[clinic end generated code: output=4d6bbe948f56e2ae input=9b1ced29615adf66]*/
+{
+ return PyUnicode_FromOrdinal(i);
+}
static const char *
@@ -582,8 +746,8 @@ source_as_string(PyObject *cmd, const char *funcname, const char *what, PyCompil
return NULL;
}
- if (strlen(str) != size) {
- PyErr_SetString(PyExc_TypeError,
+ if (strlen(str) != (size_t)size) {
+ PyErr_SetString(PyExc_ValueError,
"source code string cannot contain null bytes");
PyBuffer_Release(view);
return NULL;
@@ -591,35 +755,91 @@ source_as_string(PyObject *cmd, const char *funcname, const char *what, PyCompil
return str;
}
+/*[clinic input]
+compile as builtin_compile
+
+ source: 'O'
+ filename: object(converter="PyUnicode_FSDecoder")
+ mode: 's'
+ flags: 'i' = 0
+ dont_inherit: 'i' = 0
+ optimize: 'i' = -1
+
+Compile source into a code object that can be executed by exec() or eval().
+
+The source code may represent a Python module, statement or expression.
+The filename will be used for run-time error messages.
+The mode must be 'exec' to compile a module, 'single' to compile a
+single (interactive) statement, or 'eval' to compile an expression.
+The flags argument, if present, controls which future statements influence
+the compilation of the code.
+The dont_inherit argument, if non-zero, stops the compilation inheriting
+the effects of any future statements in effect in the code calling
+compile; if absent or zero these statements do influence the compilation,
+in addition to any features explicitly specified.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_compile__doc__,
+"compile($module, /, source, filename, mode, flags=0, dont_inherit=0,\n"
+" optimize=-1)\n"
+"--\n"
+"\n"
+"Compile source into a code object that can be executed by exec() or eval().\n"
+"\n"
+"The source code may represent a Python module, statement or expression.\n"
+"The filename will be used for run-time error messages.\n"
+"The mode must be \'exec\' to compile a module, \'single\' to compile a\n"
+"single (interactive) statement, or \'eval\' to compile an expression.\n"
+"The flags argument, if present, controls which future statements influence\n"
+"the compilation of the code.\n"
+"The dont_inherit argument, if non-zero, stops the compilation inheriting\n"
+"the effects of any future statements in effect in the code calling\n"
+"compile; if absent or zero these statements do influence the compilation,\n"
+"in addition to any features explicitly specified.");
+
+#define BUILTIN_COMPILE_METHODDEF \
+ {"compile", (PyCFunction)builtin_compile, METH_VARARGS|METH_KEYWORDS, builtin_compile__doc__},
+
+static PyObject *
+builtin_compile_impl(PyModuleDef *module, PyObject *source, PyObject *filename, const char *mode, int flags, int dont_inherit, int optimize);
+
static PyObject *
-builtin_compile(PyObject *self, PyObject *args, PyObject *kwds)
+builtin_compile(PyModuleDef *module, PyObject *args, PyObject *kwargs)
{
- Py_buffer view = {NULL, NULL};
- const char *str;
+ PyObject *return_value = NULL;
+ static char *_keywords[] = {"source", "filename", "mode", "flags", "dont_inherit", "optimize", NULL};
+ PyObject *source;
PyObject *filename;
- char *startstr;
- int mode = -1;
+ const char *mode;
+ int flags = 0;
int dont_inherit = 0;
- int supplied_flags = 0;
int optimize = -1;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "OO&s|iii:compile", _keywords,
+ &source, PyUnicode_FSDecoder, &filename, &mode, &flags, &dont_inherit, &optimize))
+ goto exit;
+ return_value = builtin_compile_impl(module, source, filename, mode, flags, dont_inherit, optimize);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_compile_impl(PyModuleDef *module, PyObject *source, PyObject *filename, const char *mode, int flags, int dont_inherit, int optimize)
+/*[clinic end generated code: output=c72d197809d178fc input=c6212a9d21472f7e]*/
+{
+ Py_buffer view = {NULL, NULL};
+ const char *str;
+ int compile_mode = -1;
int is_ast;
PyCompilerFlags cf;
- PyObject *cmd;
- static char *kwlist[] = {"source", "filename", "mode", "flags",
- "dont_inherit", "optimize", NULL};
int start[] = {Py_file_input, Py_eval_input, Py_single_input};
PyObject *result;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO&s|iii:compile", kwlist,
- &cmd,
- PyUnicode_FSDecoder, &filename,
- &startstr, &supplied_flags,
- &dont_inherit, &optimize))
- return NULL;
-
- cf.cf_flags = supplied_flags | PyCF_SOURCE_IS_UTF8;
+ cf.cf_flags = flags | PyCF_SOURCE_IS_UTF8;
- if (supplied_flags &
+ if (flags &
~(PyCF_MASK | PyCF_MASK_OBSOLETE | PyCF_DONT_IMPLY_DEDENT | PyCF_ONLY_AST))
{
PyErr_SetString(PyExc_ValueError,
@@ -638,25 +858,25 @@ builtin_compile(PyObject *self, PyObject *args, PyObject *kwds)
PyEval_MergeCompilerFlags(&cf);
}
- if (strcmp(startstr, "exec") == 0)
- mode = 0;
- else if (strcmp(startstr, "eval") == 0)
- mode = 1;
- else if (strcmp(startstr, "single") == 0)
- mode = 2;
+ if (strcmp(mode, "exec") == 0)
+ compile_mode = 0;
+ else if (strcmp(mode, "eval") == 0)
+ compile_mode = 1;
+ else if (strcmp(mode, "single") == 0)
+ compile_mode = 2;
else {
PyErr_SetString(PyExc_ValueError,
- "compile() arg 3 must be 'exec', 'eval' or 'single'");
+ "compile() mode must be 'exec', 'eval' or 'single'");
goto error;
}
- is_ast = PyAST_Check(cmd);
+ is_ast = PyAST_Check(source);
if (is_ast == -1)
goto error;
if (is_ast) {
- if (supplied_flags & PyCF_ONLY_AST) {
- Py_INCREF(cmd);
- result = cmd;
+ if (flags & PyCF_ONLY_AST) {
+ Py_INCREF(source);
+ result = source;
}
else {
PyArena *arena;
@@ -665,7 +885,7 @@ builtin_compile(PyObject *self, PyObject *args, PyObject *kwds)
arena = PyArena_New();
if (arena == NULL)
goto error;
- mod = PyAST_obj2mod(cmd, arena, mode);
+ mod = PyAST_obj2mod(source, arena, compile_mode);
if (mod == NULL) {
PyArena_Free(arena);
goto error;
@@ -681,11 +901,11 @@ builtin_compile(PyObject *self, PyObject *args, PyObject *kwds)
goto finally;
}
- str = source_as_string(cmd, "compile", "string, bytes or AST", &cf, &view);
+ str = source_as_string(source, "compile", "string, bytes or AST", &cf, &view);
if (str == NULL)
goto error;
- result = Py_CompileStringObject(str, filename, start[mode], &cf, optimize);
+ result = Py_CompileStringObject(str, filename, start[compile_mode], &cf, optimize);
PyBuffer_Release(&view);
goto finally;
@@ -696,21 +916,7 @@ finally:
return result;
}
-PyDoc_STRVAR(compile_doc,
-"compile(source, filename, mode[, flags[, dont_inherit]]) -> code object\n\
-\n\
-Compile the source (a Python module, statement or expression)\n\
-into a code object that can be executed by exec() or eval().\n\
-The filename will be used for run-time error messages.\n\
-The mode must be 'exec' to compile a module, 'single' to compile a\n\
-single (interactive) statement, or 'eval' to compile an expression.\n\
-The flags argument, if present, controls which future statements influence\n\
-the compilation of the code.\n\
-The dont_inherit argument, if non-zero, stops the compilation inheriting\n\
-the effects of any future statements in effect in the code calling\n\
-compile; if absent or zero these statements do influence the compilation,\n\
-in addition to any features explicitly specified.");
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
builtin_dir(PyObject *self, PyObject *args)
{
@@ -735,33 +941,115 @@ PyDoc_STRVAR(dir_doc,
" for any other object: its attributes, its class's attributes, and\n"
" recursively the attributes of its class's base classes.");
+/*[clinic input]
+divmod as builtin_divmod
+
+ x: 'O'
+ y: 'O'
+ /
+
+Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_divmod__doc__,
+"divmod($module, x, y, /)\n"
+"--\n"
+"\n"
+"Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.");
+
+#define BUILTIN_DIVMOD_METHODDEF \
+ {"divmod", (PyCFunction)builtin_divmod, METH_VARARGS, builtin_divmod__doc__},
+
+static PyObject *
+builtin_divmod_impl(PyModuleDef *module, PyObject *x, PyObject *y);
+
static PyObject *
-builtin_divmod(PyObject *self, PyObject *args)
+builtin_divmod(PyModuleDef *module, PyObject *args)
{
- PyObject *v, *w;
+ PyObject *return_value = NULL;
+ PyObject *x;
+ PyObject *y;
+
+ if (!PyArg_UnpackTuple(args, "divmod",
+ 2, 2,
+ &x, &y))
+ goto exit;
+ return_value = builtin_divmod_impl(module, x, y);
+
+exit:
+ return return_value;
+}
- if (!PyArg_UnpackTuple(args, "divmod", 2, 2, &v, &w))
- return NULL;
- return PyNumber_Divmod(v, w);
+static PyObject *
+builtin_divmod_impl(PyModuleDef *module, PyObject *x, PyObject *y)
+/*[clinic end generated code: output=77e8d408b1338886 input=c9c617b7bb74c615]*/
+{
+ return PyNumber_Divmod(x, y);
}
-PyDoc_STRVAR(divmod_doc,
-"divmod(x, y) -> (div, mod)\n\
-\n\
-Return the tuple ((x-x%y)/y, x%y). Invariant: div*y + mod == x.");
+/*[clinic input]
+eval as builtin_eval
+
+ source: 'O'
+ globals: 'O' = None
+ locals: 'O' = None
+ /
+
+Evaluate the given source in the context of globals and locals.
+
+The source may be a string representing a Python expression
+or a code object as returned by compile().
+The globals must be a dictionary and locals can be any mapping,
+defaulting to the current globals and locals.
+If only globals is given, locals defaults to it.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_eval__doc__,
+"eval($module, source, globals=None, locals=None, /)\n"
+"--\n"
+"\n"
+"Evaluate the given source in the context of globals and locals.\n"
+"\n"
+"The source may be a string representing a Python expression\n"
+"or a code object as returned by compile().\n"
+"The globals must be a dictionary and locals can be any mapping,\n"
+"defaulting to the current globals and locals.\n"
+"If only globals is given, locals defaults to it.");
+
+#define BUILTIN_EVAL_METHODDEF \
+ {"eval", (PyCFunction)builtin_eval, METH_VARARGS, builtin_eval__doc__},
+
+static PyObject *
+builtin_eval_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals);
static PyObject *
-builtin_eval(PyObject *self, PyObject *args)
+builtin_eval(PyModuleDef *module, PyObject *args)
{
- PyObject *cmd, *result, *tmp = NULL;
- PyObject *globals = Py_None, *locals = Py_None;
+ PyObject *return_value = NULL;
+ PyObject *source;
+ PyObject *globals = Py_None;
+ PyObject *locals = Py_None;
+
+ if (!PyArg_UnpackTuple(args, "eval",
+ 1, 3,
+ &source, &globals, &locals))
+ goto exit;
+ return_value = builtin_eval_impl(module, source, globals, locals);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_eval_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals)
+/*[clinic end generated code: output=644fd59012538ce6 input=31e42c1d2125b50b]*/
+{
+ PyObject *result, *tmp = NULL;
Py_buffer view = {NULL, NULL};
const char *str;
PyCompilerFlags cf;
- if (!PyArg_UnpackTuple(args, "eval", 1, 3, &cmd, &globals, &locals))
- return NULL;
if (locals != Py_None && !PyMapping_Check(locals)) {
PyErr_SetString(PyExc_TypeError, "locals must be a mapping");
return NULL;
@@ -796,17 +1084,17 @@ builtin_eval(PyObject *self, PyObject *args)
return NULL;
}
- if (PyCode_Check(cmd)) {
- if (PyCode_GetNumFree((PyCodeObject *)cmd) > 0) {
+ if (PyCode_Check(source)) {
+ if (PyCode_GetNumFree((PyCodeObject *)source) > 0) {
PyErr_SetString(PyExc_TypeError,
"code object passed to eval() may not contain free variables");
return NULL;
}
- return PyEval_EvalCode(cmd, globals, locals);
+ return PyEval_EvalCode(source, globals, locals);
}
cf.cf_flags = PyCF_SOURCE_IS_UTF8;
- str = source_as_string(cmd, "eval", "string, bytes or code", &cf, &view);
+ str = source_as_string(source, "eval", "string, bytes or code", &cf, &view);
if (str == NULL)
return NULL;
@@ -820,24 +1108,64 @@ builtin_eval(PyObject *self, PyObject *args)
return result;
}
-PyDoc_STRVAR(eval_doc,
-"eval(source[, globals[, locals]]) -> value\n\
-\n\
-Evaluate the source in the context of globals and locals.\n\
-The source may be a string representing a Python expression\n\
-or a code object as returned by compile().\n\
-The globals must be a dictionary and locals can be any mapping,\n\
-defaulting to the current globals and locals.\n\
-If only globals is given, locals defaults to it.\n");
+/*[clinic input]
+exec as builtin_exec
+
+ source: 'O'
+ globals: 'O' = None
+ locals: 'O' = None
+ /
+
+Execute the given source in the context of globals and locals.
+
+The source may be a string representing one or more Python statements
+or a code object as returned by compile().
+The globals must be a dictionary and locals can be any mapping,
+defaulting to the current globals and locals.
+If only globals is given, locals defaults to it.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_exec__doc__,
+"exec($module, source, globals=None, locals=None, /)\n"
+"--\n"
+"\n"
+"Execute the given source in the context of globals and locals.\n"
+"\n"
+"The source may be a string representing one or more Python statements\n"
+"or a code object as returned by compile().\n"
+"The globals must be a dictionary and locals can be any mapping,\n"
+"defaulting to the current globals and locals.\n"
+"If only globals is given, locals defaults to it.");
+
+#define BUILTIN_EXEC_METHODDEF \
+ {"exec", (PyCFunction)builtin_exec, METH_VARARGS, builtin_exec__doc__},
+
+static PyObject *
+builtin_exec_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals);
static PyObject *
-builtin_exec(PyObject *self, PyObject *args)
+builtin_exec(PyModuleDef *module, PyObject *args)
{
- PyObject *v;
- PyObject *prog, *globals = Py_None, *locals = Py_None;
+ PyObject *return_value = NULL;
+ PyObject *source;
+ PyObject *globals = Py_None;
+ PyObject *locals = Py_None;
+
+ if (!PyArg_UnpackTuple(args, "exec",
+ 1, 3,
+ &source, &globals, &locals))
+ goto exit;
+ return_value = builtin_exec_impl(module, source, globals, locals);
+
+exit:
+ return return_value;
+}
- if (!PyArg_UnpackTuple(args, "exec", 1, 3, &prog, &globals, &locals))
- return NULL;
+static PyObject *
+builtin_exec_impl(PyModuleDef *module, PyObject *source, PyObject *globals, PyObject *locals)
+/*[clinic end generated code: output=0281b48bfa8e3c87 input=536e057b5e00d89e]*/
+{
+ PyObject *v;
if (globals == Py_None) {
globals = PyEval_GetGlobals();
@@ -856,13 +1184,13 @@ builtin_exec(PyObject *self, PyObject *args)
locals = globals;
if (!PyDict_Check(globals)) {
- PyErr_Format(PyExc_TypeError, "exec() arg 2 must be a dict, not %.100s",
+ PyErr_Format(PyExc_TypeError, "exec() globals must be a dict, not %.100s",
globals->ob_type->tp_name);
return NULL;
}
if (!PyMapping_Check(locals)) {
PyErr_Format(PyExc_TypeError,
- "arg 3 must be a mapping or None, not %.100s",
+ "locals must be a mapping or None, not %.100s",
locals->ob_type->tp_name);
return NULL;
}
@@ -872,22 +1200,22 @@ builtin_exec(PyObject *self, PyObject *args)
return NULL;
}
- if (PyCode_Check(prog)) {
- if (PyCode_GetNumFree((PyCodeObject *)prog) > 0) {
+ if (PyCode_Check(source)) {
+ if (PyCode_GetNumFree((PyCodeObject *)source) > 0) {
PyErr_SetString(PyExc_TypeError,
"code object passed to exec() may not "
"contain free variables");
return NULL;
}
- v = PyEval_EvalCode(prog, globals, locals);
+ v = PyEval_EvalCode(source, globals, locals);
}
else {
Py_buffer view = {NULL, NULL};
const char *str;
PyCompilerFlags cf;
cf.cf_flags = PyCF_SOURCE_IS_UTF8;
- str = source_as_string(prog, "exec",
- "string, bytes or code", &cf, &view);
+ str = source_as_string(source, "exec",
+ "string, bytes or code", &cf, &view);
if (str == NULL)
return NULL;
if (PyEval_MergeCompilerFlags(&cf))
@@ -903,15 +1231,8 @@ builtin_exec(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
-PyDoc_STRVAR(exec_doc,
-"exec(object[, globals[, locals]])\n\
-\n\
-Read and execute code from an object, which can be a string or a code\n\
-object.\n\
-The globals and locals are dictionaries, defaulting to the current\n\
-globals and locals. If only globals is given, locals defaults to it.");
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
builtin_getattr(PyObject *self, PyObject *args)
{
@@ -945,8 +1266,39 @@ When a default argument is given, it is returned when the attribute doesn't\n\
exist; without it, an exception is raised in that case.");
+/*[clinic input]
+globals as builtin_globals
+
+Return the dictionary containing the current scope's global variables.
+
+NOTE: Updates to this dictionary *will* affect name lookups in the current
+global scope and vice-versa.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_globals__doc__,
+"globals($module, /)\n"
+"--\n"
+"\n"
+"Return the dictionary containing the current scope\'s global variables.\n"
+"\n"
+"NOTE: Updates to this dictionary *will* affect name lookups in the current\n"
+"global scope and vice-versa.");
+
+#define BUILTIN_GLOBALS_METHODDEF \
+ {"globals", (PyCFunction)builtin_globals, METH_NOARGS, builtin_globals__doc__},
+
+static PyObject *
+builtin_globals_impl(PyModuleDef *module);
+
+static PyObject *
+builtin_globals(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return builtin_globals_impl(module);
+}
+
static PyObject *
-builtin_globals(PyObject *self)
+builtin_globals_impl(PyModuleDef *module)
+/*[clinic end generated code: output=048640f58b1f20ad input=9327576f92bb48ba]*/
{
PyObject *d;
@@ -955,26 +1307,62 @@ builtin_globals(PyObject *self)
return d;
}
-PyDoc_STRVAR(globals_doc,
-"globals() -> dictionary\n\
-\n\
-Return the dictionary containing the current scope's global variables.");
+/*[clinic input]
+hasattr as builtin_hasattr
+
+ obj: 'O'
+ name: 'O'
+ /
+
+Return whether the object has an attribute with the given name.
+
+This is done by calling getattr(obj, name) and catching AttributeError.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_hasattr__doc__,
+"hasattr($module, obj, name, /)\n"
+"--\n"
+"\n"
+"Return whether the object has an attribute with the given name.\n"
+"\n"
+"This is done by calling getattr(obj, name) and catching AttributeError.");
+
+#define BUILTIN_HASATTR_METHODDEF \
+ {"hasattr", (PyCFunction)builtin_hasattr, METH_VARARGS, builtin_hasattr__doc__},
+
+static PyObject *
+builtin_hasattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name);
static PyObject *
-builtin_hasattr(PyObject *self, PyObject *args)
+builtin_hasattr(PyModuleDef *module, PyObject *args)
{
- PyObject *v;
+ PyObject *return_value = NULL;
+ PyObject *obj;
PyObject *name;
- if (!PyArg_UnpackTuple(args, "hasattr", 2, 2, &v, &name))
- return NULL;
+ if (!PyArg_UnpackTuple(args, "hasattr",
+ 2, 2,
+ &obj, &name))
+ goto exit;
+ return_value = builtin_hasattr_impl(module, obj, name);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_hasattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name)
+/*[clinic end generated code: output=e0bd996ef73d1217 input=b50bad5f739ea10d]*/
+{
+ PyObject *v;
+
if (!PyUnicode_Check(name)) {
PyErr_SetString(PyExc_TypeError,
"hasattr(): attribute name must be string");
return NULL;
}
- v = PyObject_GetAttr(v, name);
+ v = PyObject_GetAttr(obj, name);
if (v == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
PyErr_Clear();
@@ -986,25 +1374,43 @@ builtin_hasattr(PyObject *self, PyObject *args)
Py_RETURN_TRUE;
}
-PyDoc_STRVAR(hasattr_doc,
-"hasattr(object, name) -> bool\n\
-\n\
-Return whether the object has an attribute with the given name.\n\
-(This is done by calling getattr(object, name) and catching AttributeError.)");
+/* AC: gdb's integration with CPython relies on builtin_id having
+ * the *exact* parameter names of "self" and "v", so we ensure we
+ * preserve those name rather than using the AC defaults.
+ */
+/*[clinic input]
+id as builtin_id
+
+ self: self(type="PyModuleDef *")
+ obj as v: 'O'
+ /
+
+Return the identity of an object.
+
+This is guaranteed to be unique among simultaneously existing objects.
+(CPython uses the object's memory address.)
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_id__doc__,
+"id($module, obj, /)\n"
+"--\n"
+"\n"
+"Return the identity of an object.\n"
+"\n"
+"This is guaranteed to be unique among simultaneously existing objects.\n"
+"(CPython uses the object\'s memory address.)");
+
+#define BUILTIN_ID_METHODDEF \
+ {"id", (PyCFunction)builtin_id, METH_O, builtin_id__doc__},
static PyObject *
-builtin_id(PyObject *self, PyObject *v)
+builtin_id(PyModuleDef *self, PyObject *v)
+/*[clinic end generated code: output=f54da09c91992e63 input=a1f988d98357341d]*/
{
return PyLong_FromVoidPtr(v);
}
-PyDoc_STRVAR(id_doc,
-"id(object) -> integer\n\
-\n\
-Return the identity of an object. This is guaranteed to be unique among\n\
-simultaneously existing objects. (Hint: it's the object's memory address.)");
-
/* map object ************************************************************/
@@ -1177,6 +1583,8 @@ PyTypeObject PyMap_Type = {
PyObject_GC_Del, /* tp_free */
};
+
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
builtin_next(PyObject *self, PyObject *args)
{
@@ -1218,83 +1626,186 @@ Return the next item from the iterator. If default is given and the iterator\n\
is exhausted, it is returned instead of raising StopIteration.");
+/*[clinic input]
+setattr as builtin_setattr
+
+ obj: 'O'
+ name: 'O'
+ value: 'O'
+ /
+
+Sets the named attribute on the given object to the specified value.
+
+setattr(x, 'y', v) is equivalent to ``x.y = v''
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_setattr__doc__,
+"setattr($module, obj, name, value, /)\n"
+"--\n"
+"\n"
+"Sets the named attribute on the given object to the specified value.\n"
+"\n"
+"setattr(x, \'y\', v) is equivalent to ``x.y = v\'\'");
+
+#define BUILTIN_SETATTR_METHODDEF \
+ {"setattr", (PyCFunction)builtin_setattr, METH_VARARGS, builtin_setattr__doc__},
+
+static PyObject *
+builtin_setattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name, PyObject *value);
+
static PyObject *
-builtin_setattr(PyObject *self, PyObject *args)
+builtin_setattr(PyModuleDef *module, PyObject *args)
{
- PyObject *v;
+ PyObject *return_value = NULL;
+ PyObject *obj;
PyObject *name;
PyObject *value;
- if (!PyArg_UnpackTuple(args, "setattr", 3, 3, &v, &name, &value))
- return NULL;
- if (PyObject_SetAttr(v, name, value) != 0)
+ if (!PyArg_UnpackTuple(args, "setattr",
+ 3, 3,
+ &obj, &name, &value))
+ goto exit;
+ return_value = builtin_setattr_impl(module, obj, name, value);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_setattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name, PyObject *value)
+/*[clinic end generated code: output=4336dcbbf7691d2d input=fbe7e53403116b93]*/
+{
+ if (PyObject_SetAttr(obj, name, value) != 0)
return NULL;
Py_INCREF(Py_None);
return Py_None;
}
-PyDoc_STRVAR(setattr_doc,
-"setattr(object, name, value)\n\
-\n\
-Set a named attribute on an object; setattr(x, 'y', v) is equivalent to\n\
-``x.y = v''.");
+/*[clinic input]
+delattr as builtin_delattr
+
+ obj: 'O'
+ name: 'O'
+ /
+
+Deletes the named attribute from the given object.
+
+delattr(x, 'y') is equivalent to ``del x.y''
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_delattr__doc__,
+"delattr($module, obj, name, /)\n"
+"--\n"
+"\n"
+"Deletes the named attribute from the given object.\n"
+"\n"
+"delattr(x, \'y\') is equivalent to ``del x.y\'\'");
+
+#define BUILTIN_DELATTR_METHODDEF \
+ {"delattr", (PyCFunction)builtin_delattr, METH_VARARGS, builtin_delattr__doc__},
static PyObject *
-builtin_delattr(PyObject *self, PyObject *args)
+builtin_delattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name);
+
+static PyObject *
+builtin_delattr(PyModuleDef *module, PyObject *args)
{
- PyObject *v;
+ PyObject *return_value = NULL;
+ PyObject *obj;
PyObject *name;
- if (!PyArg_UnpackTuple(args, "delattr", 2, 2, &v, &name))
- return NULL;
- if (PyObject_SetAttr(v, name, (PyObject *)NULL) != 0)
+ if (!PyArg_UnpackTuple(args, "delattr",
+ 2, 2,
+ &obj, &name))
+ goto exit;
+ return_value = builtin_delattr_impl(module, obj, name);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_delattr_impl(PyModuleDef *module, PyObject *obj, PyObject *name)
+/*[clinic end generated code: output=319c2d884aa769cf input=647af2ce9183a823]*/
+{
+ if (PyObject_SetAttr(obj, name, (PyObject *)NULL) != 0)
return NULL;
Py_INCREF(Py_None);
return Py_None;
}
-PyDoc_STRVAR(delattr_doc,
-"delattr(object, name)\n\
-\n\
-Delete a named attribute on an object; delattr(x, 'y') is equivalent to\n\
-``del x.y''.");
+/*[clinic input]
+hash as builtin_hash
+
+ obj: 'O'
+ /
+
+Return the hash value for the given object.
+
+Two objects that compare equal must also have the same hash value, but the
+reverse is not necessarily true.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_hash__doc__,
+"hash($module, obj, /)\n"
+"--\n"
+"\n"
+"Return the hash value for the given object.\n"
+"\n"
+"Two objects that compare equal must also have the same hash value, but the\n"
+"reverse is not necessarily true.");
+
+#define BUILTIN_HASH_METHODDEF \
+ {"hash", (PyCFunction)builtin_hash, METH_O, builtin_hash__doc__},
static PyObject *
-builtin_hash(PyObject *self, PyObject *v)
+builtin_hash(PyModuleDef *module, PyObject *obj)
+/*[clinic end generated code: output=1ec467611c13468b input=ccc4d2b9a351df4e]*/
{
Py_hash_t x;
- x = PyObject_Hash(v);
+ x = PyObject_Hash(obj);
if (x == -1)
return NULL;
return PyLong_FromSsize_t(x);
}
-PyDoc_STRVAR(hash_doc,
-"hash(object) -> integer\n\
-\n\
-Return a hash value for the object. Two objects with the same value have\n\
-the same hash value. The reverse is not necessarily true, but likely.");
+/*[clinic input]
+hex as builtin_hex
+
+ number: 'O'
+ /
+
+Return the hexadecimal representation of an integer.
+
+ >>> hex(12648430)
+ '0xc0ffee'
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_hex__doc__,
+"hex($module, number, /)\n"
+"--\n"
+"\n"
+"Return the hexadecimal representation of an integer.\n"
+"\n"
+" >>> hex(12648430)\n"
+" \'0xc0ffee\'");
+
+#define BUILTIN_HEX_METHODDEF \
+ {"hex", (PyCFunction)builtin_hex, METH_O, builtin_hex__doc__},
static PyObject *
-builtin_hex(PyObject *self, PyObject *v)
+builtin_hex(PyModuleDef *module, PyObject *number)
+/*[clinic end generated code: output=f18e9439aeaa2c6c input=e816200b0a728ebe]*/
{
- return PyNumber_ToBase(v, 16);
+ return PyNumber_ToBase(number, 16);
}
-PyDoc_STRVAR(hex_doc,
-"hex(number) -> string\n\
-\n\
-Return the hexadecimal representation of an integer.\n\
-\n\
- >>> hex(3735928559)\n\
- '0xdeadbeef'\n\
-");
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
builtin_iter(PyObject *self, PyObject *args)
{
@@ -1321,25 +1832,72 @@ supply its own iterator, or be a sequence.\n\
In the second form, the callable is called until it returns the sentinel.");
+/*[clinic input]
+len as builtin_len
+
+ obj: 'O'
+ /
+
+Return the number of items in a container.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_len__doc__,
+"len($module, obj, /)\n"
+"--\n"
+"\n"
+"Return the number of items in a container.");
+
+#define BUILTIN_LEN_METHODDEF \
+ {"len", (PyCFunction)builtin_len, METH_O, builtin_len__doc__},
+
static PyObject *
-builtin_len(PyObject *self, PyObject *v)
+builtin_len(PyModuleDef *module, PyObject *obj)
+/*[clinic end generated code: output=5a38b0db40761705 input=2e5ff15db9a2de22]*/
{
Py_ssize_t res;
- res = PyObject_Size(v);
+ res = PyObject_Size(obj);
if (res < 0 && PyErr_Occurred())
return NULL;
return PyLong_FromSsize_t(res);
}
-PyDoc_STRVAR(len_doc,
-"len(object)\n\
-\n\
-Return the number of items of a sequence or collection.");
+/*[clinic input]
+locals as builtin_locals
+
+Return a dictionary containing the current scope's local variables.
+
+NOTE: Whether or not updates to this dictionary will affect name lookups in
+the local scope and vice-versa is *implementation dependent* and not
+covered by any backwards compatibility guarantees.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_locals__doc__,
+"locals($module, /)\n"
+"--\n"
+"\n"
+"Return a dictionary containing the current scope\'s local variables.\n"
+"\n"
+"NOTE: Whether or not updates to this dictionary will affect name lookups in\n"
+"the local scope and vice-versa is *implementation dependent* and not\n"
+"covered by any backwards compatibility guarantees.");
+
+#define BUILTIN_LOCALS_METHODDEF \
+ {"locals", (PyCFunction)builtin_locals, METH_NOARGS, builtin_locals__doc__},
+
+static PyObject *
+builtin_locals_impl(PyModuleDef *module);
+
+static PyObject *
+builtin_locals(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return builtin_locals_impl(module);
+}
static PyObject *
-builtin_locals(PyObject *self)
+builtin_locals_impl(PyModuleDef *module)
+/*[clinic end generated code: output=8ac52522924346e2 input=7874018d478d5c4b]*/
{
PyObject *d;
@@ -1348,11 +1906,6 @@ builtin_locals(PyObject *self)
return d;
}
-PyDoc_STRVAR(locals_doc,
-"locals() -> dictionary\n\
-\n\
-Update and return a dictionary containing the current scope's local variables.");
-
static PyObject *
min_max(PyObject *args, PyObject *kwds, int op)
@@ -1455,6 +2008,7 @@ Fail_it:
return NULL;
}
+/* AC: cannot convert yet, waiting for *args support */
static PyObject *
builtin_min(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -1471,6 +2025,7 @@ the provided iterable is empty.\n\
With two or more arguments, return the smallest argument.");
+/* AC: cannot convert yet, waiting for *args support */
static PyObject *
builtin_max(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -1487,56 +2042,91 @@ the provided iterable is empty.\n\
With two or more arguments, return the largest argument.");
+/*[clinic input]
+oct as builtin_oct
+
+ number: 'O'
+ /
+
+Return the octal representation of an integer.
+
+ >>> oct(342391)
+ '0o1234567'
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_oct__doc__,
+"oct($module, number, /)\n"
+"--\n"
+"\n"
+"Return the octal representation of an integer.\n"
+"\n"
+" >>> oct(342391)\n"
+" \'0o1234567\'");
+
+#define BUILTIN_OCT_METHODDEF \
+ {"oct", (PyCFunction)builtin_oct, METH_O, builtin_oct__doc__},
+
static PyObject *
-builtin_oct(PyObject *self, PyObject *v)
+builtin_oct(PyModuleDef *module, PyObject *number)
+/*[clinic end generated code: output=b99234d1d70a6673 input=a3a372b521b3dd13]*/
{
- return PyNumber_ToBase(v, 8);
+ return PyNumber_ToBase(number, 8);
}
-PyDoc_STRVAR(oct_doc,
-"oct(number) -> string\n\
-\n\
-Return the octal representation of an integer.\n\
-\n\
- >>> oct(342391)\n\
- '0o1234567'\n\
-");
+/*[clinic input]
+ord as builtin_ord
+
+ c: 'O'
+ /
+
+Return the Unicode code point for a one-character string.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_ord__doc__,
+"ord($module, c, /)\n"
+"--\n"
+"\n"
+"Return the Unicode code point for a one-character string.");
+
+#define BUILTIN_ORD_METHODDEF \
+ {"ord", (PyCFunction)builtin_ord, METH_O, builtin_ord__doc__},
static PyObject *
-builtin_ord(PyObject *self, PyObject* obj)
+builtin_ord(PyModuleDef *module, PyObject *c)
+/*[clinic end generated code: output=a8466d23bd76db3f input=762355f87451efa3]*/
{
long ord;
Py_ssize_t size;
- if (PyBytes_Check(obj)) {
- size = PyBytes_GET_SIZE(obj);
+ if (PyBytes_Check(c)) {
+ size = PyBytes_GET_SIZE(c);
if (size == 1) {
- ord = (long)((unsigned char)*PyBytes_AS_STRING(obj));
+ ord = (long)((unsigned char)*PyBytes_AS_STRING(c));
return PyLong_FromLong(ord);
}
}
- else if (PyUnicode_Check(obj)) {
- if (PyUnicode_READY(obj) == -1)
+ else if (PyUnicode_Check(c)) {
+ if (PyUnicode_READY(c) == -1)
return NULL;
- size = PyUnicode_GET_LENGTH(obj);
+ size = PyUnicode_GET_LENGTH(c);
if (size == 1) {
- ord = (long)PyUnicode_READ_CHAR(obj, 0);
+ ord = (long)PyUnicode_READ_CHAR(c, 0);
return PyLong_FromLong(ord);
}
}
- else if (PyByteArray_Check(obj)) {
+ else if (PyByteArray_Check(c)) {
/* XXX Hopefully this is temporary */
- size = PyByteArray_GET_SIZE(obj);
+ size = PyByteArray_GET_SIZE(c);
if (size == 1) {
- ord = (long)((unsigned char)*PyByteArray_AS_STRING(obj));
+ ord = (long)((unsigned char)*PyByteArray_AS_STRING(c));
return PyLong_FromLong(ord);
}
}
else {
PyErr_Format(PyExc_TypeError,
"ord() expected string of length 1, but " \
- "%.200s found", obj->ob_type->tp_name);
+ "%.200s found", c->ob_type->tp_name);
return NULL;
}
@@ -1547,31 +2137,63 @@ builtin_ord(PyObject *self, PyObject* obj)
return NULL;
}
-PyDoc_VAR(ord_doc) = PyDoc_STR(
-"ord(c) -> integer\n\
-\n\
-Return the integer ordinal of a one-character string."
-);
+/*[clinic input]
+pow as builtin_pow
+
+ x: 'O'
+ y: 'O'
+ z: 'O' = None
+ /
+
+Equivalent to x**y (with two arguments) or x**y % z (with three arguments)
+
+Some types, such as ints, are able to use a more efficient algorithm when
+invoked using the three argument form.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_pow__doc__,
+"pow($module, x, y, z=None, /)\n"
+"--\n"
+"\n"
+"Equivalent to x**y (with two arguments) or x**y % z (with three arguments)\n"
+"\n"
+"Some types, such as ints, are able to use a more efficient algorithm when\n"
+"invoked using the three argument form.");
+
+#define BUILTIN_POW_METHODDEF \
+ {"pow", (PyCFunction)builtin_pow, METH_VARARGS, builtin_pow__doc__},
static PyObject *
-builtin_pow(PyObject *self, PyObject *args)
-{
- PyObject *v, *w, *z = Py_None;
+builtin_pow_impl(PyModuleDef *module, PyObject *x, PyObject *y, PyObject *z);
- if (!PyArg_UnpackTuple(args, "pow", 2, 3, &v, &w, &z))
- return NULL;
- return PyNumber_Power(v, w, z);
+static PyObject *
+builtin_pow(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *x;
+ PyObject *y;
+ PyObject *z = Py_None;
+
+ if (!PyArg_UnpackTuple(args, "pow",
+ 2, 3,
+ &x, &y, &z))
+ goto exit;
+ return_value = builtin_pow_impl(module, x, y, z);
+
+exit:
+ return return_value;
}
-PyDoc_STRVAR(pow_doc,
-"pow(x, y[, z]) -> number\n\
-\n\
-With two arguments, equivalent to x**y. With three arguments,\n\
-equivalent to (x**y) % z, but may be more efficient (e.g. for ints).");
-
+static PyObject *
+builtin_pow_impl(PyModuleDef *module, PyObject *x, PyObject *y, PyObject *z)
+/*[clinic end generated code: output=d0cdf314311dedba input=561a942d5f5c1899]*/
+{
+ return PyNumber_Power(x, y, z);
+}
+/* AC: cannot convert yet, waiting for *args support */
static PyObject *
builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -1667,10 +2289,59 @@ end: string appended after the last value, default a newline.\n\
flush: whether to forcibly flush the stream.");
+/*[clinic input]
+input as builtin_input
+
+ prompt: object(c_default="NULL") = None
+ /
+
+Read a string from standard input. The trailing newline is stripped.
+
+The prompt string, if given, is printed to standard output without a
+trailing newline before reading input.
+
+If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
+On *nix systems, readline is used if available.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_input__doc__,
+"input($module, prompt=None, /)\n"
+"--\n"
+"\n"
+"Read a string from standard input. The trailing newline is stripped.\n"
+"\n"
+"The prompt string, if given, is printed to standard output without a\n"
+"trailing newline before reading input.\n"
+"\n"
+"If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.\n"
+"On *nix systems, readline is used if available.");
+
+#define BUILTIN_INPUT_METHODDEF \
+ {"input", (PyCFunction)builtin_input, METH_VARARGS, builtin_input__doc__},
+
static PyObject *
-builtin_input(PyObject *self, PyObject *args)
+builtin_input_impl(PyModuleDef *module, PyObject *prompt);
+
+static PyObject *
+builtin_input(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *prompt = NULL;
+
+ if (!PyArg_UnpackTuple(args, "input",
+ 0, 1,
+ &prompt))
+ goto exit;
+ return_value = builtin_input_impl(module, prompt);
+
+exit:
+ return return_value;
+}
+
+static PyObject *
+builtin_input_impl(PyModuleDef *module, PyObject *prompt)
+/*[clinic end generated code: output=69323bf5695f7c9c input=5e8bb70c2908fe3c]*/
{
- PyObject *promptarg = NULL;
PyObject *fin = _PySys_GetObjectId(&PyId_stdin);
PyObject *fout = _PySys_GetObjectId(&PyId_stdout);
PyObject *ferr = _PySys_GetObjectId(&PyId_stderr);
@@ -1678,10 +2349,6 @@ builtin_input(PyObject *self, PyObject *args)
long fd;
int tty;
- /* Parse arguments */
- if (!PyArg_UnpackTuple(args, "input", 0, 1, &promptarg))
- return NULL;
-
/* Check that stdin/out/err are intact */
if (fin == NULL || fin == Py_None) {
PyErr_SetString(PyExc_RuntimeError,
@@ -1737,7 +2404,7 @@ builtin_input(PyObject *self, PyObject *args)
/* If we're interactive, use (GNU) readline */
if (tty) {
PyObject *po = NULL;
- char *prompt;
+ char *promptstr;
char *s = NULL;
PyObject *stdin_encoding = NULL, *stdin_errors = NULL;
PyObject *stdout_encoding = NULL, *stdout_errors = NULL;
@@ -1760,7 +2427,7 @@ builtin_input(PyObject *self, PyObject *args)
PyErr_Clear();
else
Py_DECREF(tmp);
- if (promptarg != NULL) {
+ if (prompt != NULL) {
/* We have a prompt, encode it as stdout would */
char *stdout_encoding_str, *stdout_errors_str;
PyObject *stringpo;
@@ -1772,7 +2439,7 @@ builtin_input(PyObject *self, PyObject *args)
stdout_errors_str = _PyUnicode_AsString(stdout_errors);
if (!stdout_encoding_str || !stdout_errors_str)
goto _readline_errors;
- stringpo = PyObject_Str(promptarg);
+ stringpo = PyObject_Str(prompt);
if (stringpo == NULL)
goto _readline_errors;
po = PyUnicode_AsEncodedString(stringpo,
@@ -1782,15 +2449,15 @@ builtin_input(PyObject *self, PyObject *args)
Py_CLEAR(stringpo);
if (po == NULL)
goto _readline_errors;
- prompt = PyBytes_AsString(po);
- if (prompt == NULL)
+ promptstr = PyBytes_AsString(po);
+ if (promptstr == NULL)
goto _readline_errors;
}
else {
po = NULL;
- prompt = "";
+ promptstr = "";
}
- s = PyOS_Readline(stdin, stdout, prompt);
+ s = PyOS_Readline(stdin, stdout, promptstr);
if (s == NULL) {
PyErr_CheckSignals();
if (!PyErr_Occurred())
@@ -1832,8 +2499,8 @@ builtin_input(PyObject *self, PyObject *args)
}
/* Fallback if we're not interactive */
- if (promptarg != NULL) {
- if (PyFile_WriteObject(promptarg, fout, Py_PRINT_RAW) != 0)
+ if (prompt != NULL) {
+ if (PyFile_WriteObject(prompt, fout, Py_PRINT_RAW) != 0)
return NULL;
}
tmp = _PyObject_CallMethodId(fout, &PyId_flush, "");
@@ -1844,28 +2511,40 @@ builtin_input(PyObject *self, PyObject *args)
return PyFile_GetLine(fin, -1);
}
-PyDoc_STRVAR(input_doc,
-"input([prompt]) -> string\n\
-\n\
-Read a string from standard input. The trailing newline is stripped.\n\
-If the user hits EOF (Unix: Ctl-D, Windows: Ctl-Z+Return), raise EOFError.\n\
-On Unix, GNU readline is used if enabled. The prompt string, if given,\n\
-is printed without a trailing newline before reading.");
+/*[clinic input]
+repr as builtin_repr
+
+ obj: 'O'
+ /
+
+Return the canonical string representation of the object.
+
+For many object types, including most builtins, eval(repr(obj)) == obj.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_repr__doc__,
+"repr($module, obj, /)\n"
+"--\n"
+"\n"
+"Return the canonical string representation of the object.\n"
+"\n"
+"For many object types, including most builtins, eval(repr(obj)) == obj.");
+
+#define BUILTIN_REPR_METHODDEF \
+ {"repr", (PyCFunction)builtin_repr, METH_O, builtin_repr__doc__},
static PyObject *
-builtin_repr(PyObject *self, PyObject *v)
+builtin_repr(PyModuleDef *module, PyObject *obj)
+/*[clinic end generated code: output=988980120f39e2fa input=a2bca0f38a5a924d]*/
{
- return PyObject_Repr(v);
+ return PyObject_Repr(obj);
}
-PyDoc_STRVAR(repr_doc,
-"repr(object) -> string\n\
-\n\
-Return the canonical string representation of the object.\n\
-For most object types, eval(repr(object)) == object.");
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect
+ * or a semantic change to accept None for "ndigits"
+ */
static PyObject *
builtin_round(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -1907,6 +2586,35 @@ This returns an int when called with one argument, otherwise the\n\
same type as the number. ndigits may be negative.");
+/*AC: we need to keep the kwds dict intact to easily call into the
+ * list.sort method, which isn't currently supported in AC. So we just use
+ * the initially generated signature with a custom implementation.
+ */
+/* [disabled clinic input]
+sorted as builtin_sorted
+
+ iterable as seq: 'O'
+ key as keyfunc: 'O' = None
+ reverse: 'O' = False
+
+Return a new list containing all items from the iterable in ascending order.
+
+A custom key function can be supplied to customise the sort order, and the
+reverse flag can be set to request the result in descending order.
+[end disabled clinic input]*/
+
+PyDoc_STRVAR(builtin_sorted__doc__,
+"sorted($module, iterable, key=None, reverse=False)\n"
+"--\n"
+"\n"
+"Return a new list containing all items from the iterable in ascending order.\n"
+"\n"
+"A custom key function can be supplied to customise the sort order, and the\n"
+"reverse flag can be set to request the result in descending order.");
+
+#define BUILTIN_SORTED_METHODDEF \
+ {"sorted", (PyCFunction)builtin_sorted, METH_VARARGS|METH_KEYWORDS, builtin_sorted__doc__},
+
static PyObject *
builtin_sorted(PyObject *self, PyObject *args, PyObject *kwds)
{
@@ -1948,9 +2656,8 @@ builtin_sorted(PyObject *self, PyObject *args, PyObject *kwds)
return newlist;
}
-PyDoc_STRVAR(sorted_doc,
-"sorted(iterable, key=None, reverse=False) --> new sorted list");
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
builtin_vars(PyObject *self, PyObject *args)
{
@@ -1982,17 +2689,62 @@ PyDoc_STRVAR(vars_doc,
Without arguments, equivalent to locals().\n\
With an argument, equivalent to object.__dict__.");
-static PyObject*
-builtin_sum(PyObject *self, PyObject *args)
+
+/*[clinic input]
+sum as builtin_sum
+
+ iterable: 'O'
+ start: object(c_default="NULL") = 0
+ /
+
+Return the sum of a 'start' value (default: 0) plus an iterable of numbers
+
+When the iterable is empty, return the start value.
+This function is intended specifically for use with numeric values and may
+reject non-numeric types.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_sum__doc__,
+"sum($module, iterable, start=0, /)\n"
+"--\n"
+"\n"
+"Return the sum of a \'start\' value (default: 0) plus an iterable of numbers\n"
+"\n"
+"When the iterable is empty, return the start value.\n"
+"This function is intended specifically for use with numeric values and may\n"
+"reject non-numeric types.");
+
+#define BUILTIN_SUM_METHODDEF \
+ {"sum", (PyCFunction)builtin_sum, METH_VARARGS, builtin_sum__doc__},
+
+static PyObject *
+builtin_sum_impl(PyModuleDef *module, PyObject *iterable, PyObject *start);
+
+static PyObject *
+builtin_sum(PyModuleDef *module, PyObject *args)
{
- PyObject *seq;
- PyObject *result = NULL;
- PyObject *temp, *item, *iter;
+ PyObject *return_value = NULL;
+ PyObject *iterable;
+ PyObject *start = NULL;
+
+ if (!PyArg_UnpackTuple(args, "sum",
+ 1, 2,
+ &iterable, &start))
+ goto exit;
+ return_value = builtin_sum_impl(module, iterable, start);
+
+exit:
+ return return_value;
+}
- if (!PyArg_UnpackTuple(args, "sum", 1, 2, &seq, &result))
- return NULL;
+static PyObject *
+builtin_sum_impl(PyModuleDef *module, PyObject *iterable, PyObject *start)
+/*[clinic end generated code: output=b42652a0d5f64f6b input=90ae7a242cfcf025]*/
+{
+ PyObject *result = start;
+ PyObject *temp, *item, *iter;
- iter = PyObject_GetIter(seq);
+ iter = PyObject_GetIter(iterable);
if (iter == NULL)
return NULL;
@@ -2022,7 +2774,6 @@ builtin_sum(PyObject *self, PyObject *args)
Py_DECREF(iter);
return NULL;
}
-
Py_INCREF(result);
}
@@ -2148,62 +2899,126 @@ builtin_sum(PyObject *self, PyObject *args)
return result;
}
-PyDoc_STRVAR(sum_doc,
-"sum(iterable[, start]) -> value\n\
-\n\
-Return the sum of an iterable of numbers (NOT strings) plus the value\n\
-of parameter 'start' (which defaults to 0). When the iterable is\n\
-empty, return start.");
+/*[clinic input]
+isinstance as builtin_isinstance
+
+ obj: 'O'
+ class_or_tuple: 'O'
+ /
+
+Return whether an object is an instance of a class or of a subclass thereof.
+
+A tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to
+check against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)
+or ...`` etc.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_isinstance__doc__,
+"isinstance($module, obj, class_or_tuple, /)\n"
+"--\n"
+"\n"
+"Return whether an object is an instance of a class or of a subclass thereof.\n"
+"\n"
+"A tuple, as in ``isinstance(x, (A, B, ...))``, may be given as the target to\n"
+"check against. This is equivalent to ``isinstance(x, A) or isinstance(x, B)\n"
+"or ...`` etc.");
+
+#define BUILTIN_ISINSTANCE_METHODDEF \
+ {"isinstance", (PyCFunction)builtin_isinstance, METH_VARARGS, builtin_isinstance__doc__},
+
+static PyObject *
+builtin_isinstance_impl(PyModuleDef *module, PyObject *obj, PyObject *class_or_tuple);
static PyObject *
-builtin_isinstance(PyObject *self, PyObject *args)
+builtin_isinstance(PyModuleDef *module, PyObject *args)
{
- PyObject *inst;
- PyObject *cls;
- int retval;
+ PyObject *return_value = NULL;
+ PyObject *obj;
+ PyObject *class_or_tuple;
+
+ if (!PyArg_UnpackTuple(args, "isinstance",
+ 2, 2,
+ &obj, &class_or_tuple))
+ goto exit;
+ return_value = builtin_isinstance_impl(module, obj, class_or_tuple);
+
+exit:
+ return return_value;
+}
- if (!PyArg_UnpackTuple(args, "isinstance", 2, 2, &inst, &cls))
- return NULL;
+static PyObject *
+builtin_isinstance_impl(PyModuleDef *module, PyObject *obj, PyObject *class_or_tuple)
+/*[clinic end generated code: output=847df57fef8ddea7 input=cf9eb0ad6bb9bad6]*/
+{
+ int retval;
- retval = PyObject_IsInstance(inst, cls);
+ retval = PyObject_IsInstance(obj, class_or_tuple);
if (retval < 0)
return NULL;
return PyBool_FromLong(retval);
}
-PyDoc_STRVAR(isinstance_doc,
-"isinstance(object, class-or-type-or-tuple) -> bool\n\
-\n\
-Return whether an object is an instance of a class or of a subclass thereof.\n\
-With a type as second argument, return whether that is the object's type.\n\
-The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for\n\
-isinstance(x, A) or isinstance(x, B) or ... (etc.).");
+/*[clinic input]
+issubclass as builtin_issubclass
+
+ cls: 'O'
+ class_or_tuple: 'O'
+ /
+
+Return whether 'cls' is a derived from another class or is the same class.
+
+A tuple, as in ``issubclass(x, (A, B, ...))``, may be given as the target to
+check against. This is equivalent to ``issubclass(x, A) or issubclass(x, B)
+or ...`` etc.
+[clinic start generated code]*/
+
+PyDoc_STRVAR(builtin_issubclass__doc__,
+"issubclass($module, cls, class_or_tuple, /)\n"
+"--\n"
+"\n"
+"Return whether \'cls\' is a derived from another class or is the same class.\n"
+"\n"
+"A tuple, as in ``issubclass(x, (A, B, ...))``, may be given as the target to\n"
+"check against. This is equivalent to ``issubclass(x, A) or issubclass(x, B)\n"
+"or ...`` etc.");
+
+#define BUILTIN_ISSUBCLASS_METHODDEF \
+ {"issubclass", (PyCFunction)builtin_issubclass, METH_VARARGS, builtin_issubclass__doc__},
static PyObject *
-builtin_issubclass(PyObject *self, PyObject *args)
+builtin_issubclass_impl(PyModuleDef *module, PyObject *cls, PyObject *class_or_tuple);
+
+static PyObject *
+builtin_issubclass(PyModuleDef *module, PyObject *args)
{
- PyObject *derived;
+ PyObject *return_value = NULL;
PyObject *cls;
- int retval;
+ PyObject *class_or_tuple;
- if (!PyArg_UnpackTuple(args, "issubclass", 2, 2, &derived, &cls))
- return NULL;
+ if (!PyArg_UnpackTuple(args, "issubclass",
+ 2, 2,
+ &cls, &class_or_tuple))
+ goto exit;
+ return_value = builtin_issubclass_impl(module, cls, class_or_tuple);
+
+exit:
+ return return_value;
+}
- retval = PyObject_IsSubclass(derived, cls);
+static PyObject *
+builtin_issubclass_impl(PyModuleDef *module, PyObject *cls, PyObject *class_or_tuple)
+/*[clinic end generated code: output=a0f8c03692e35474 input=923d03fa41fc352a]*/
+{
+ int retval;
+
+ retval = PyObject_IsSubclass(cls, class_or_tuple);
if (retval < 0)
return NULL;
return PyBool_FromLong(retval);
}
-PyDoc_STRVAR(issubclass_doc,
-"issubclass(C, B) -> bool\n\
-\n\
-Return whether class C is a subclass (i.e., a derived class) of class B.\n\
-When using a tuple as the second argument issubclass(X, (A, B, ...)),\n\
-is a shortcut for issubclass(X, A) or issubclass(X, B) or ... (etc.).");
-
typedef struct {
PyObject_HEAD
@@ -2398,44 +3213,44 @@ static PyMethodDef builtin_methods[] = {
{"__build_class__", (PyCFunction)builtin___build_class__,
METH_VARARGS | METH_KEYWORDS, build_class_doc},
{"__import__", (PyCFunction)builtin___import__, METH_VARARGS | METH_KEYWORDS, import_doc},
- {"abs", builtin_abs, METH_O, abs_doc},
- {"all", builtin_all, METH_O, all_doc},
- {"any", builtin_any, METH_O, any_doc},
- {"ascii", builtin_ascii, METH_O, ascii_doc},
- {"bin", builtin_bin, METH_O, bin_doc},
- {"callable", builtin_callable, METH_O, callable_doc},
- {"chr", builtin_chr, METH_VARARGS, chr_doc},
- {"compile", (PyCFunction)builtin_compile, METH_VARARGS | METH_KEYWORDS, compile_doc},
- {"delattr", builtin_delattr, METH_VARARGS, delattr_doc},
+ BUILTIN_ABS_METHODDEF
+ BUILTIN_ALL_METHODDEF
+ BUILTIN_ANY_METHODDEF
+ BUILTIN_ASCII_METHODDEF
+ BUILTIN_BIN_METHODDEF
+ BUILTIN_CALLABLE_METHODDEF
+ BUILTIN_CHR_METHODDEF
+ BUILTIN_COMPILE_METHODDEF
+ BUILTIN_DELATTR_METHODDEF
{"dir", builtin_dir, METH_VARARGS, dir_doc},
- {"divmod", builtin_divmod, METH_VARARGS, divmod_doc},
- {"eval", builtin_eval, METH_VARARGS, eval_doc},
- {"exec", builtin_exec, METH_VARARGS, exec_doc},
- {"format", builtin_format, METH_VARARGS, format_doc},
+ BUILTIN_DIVMOD_METHODDEF
+ BUILTIN_EVAL_METHODDEF
+ BUILTIN_EXEC_METHODDEF
+ BUILTIN_FORMAT_METHODDEF
{"getattr", builtin_getattr, METH_VARARGS, getattr_doc},
- {"globals", (PyCFunction)builtin_globals, METH_NOARGS, globals_doc},
- {"hasattr", builtin_hasattr, METH_VARARGS, hasattr_doc},
- {"hash", builtin_hash, METH_O, hash_doc},
- {"hex", builtin_hex, METH_O, hex_doc},
- {"id", builtin_id, METH_O, id_doc},
- {"input", builtin_input, METH_VARARGS, input_doc},
- {"isinstance", builtin_isinstance, METH_VARARGS, isinstance_doc},
- {"issubclass", builtin_issubclass, METH_VARARGS, issubclass_doc},
+ BUILTIN_GLOBALS_METHODDEF
+ BUILTIN_HASATTR_METHODDEF
+ BUILTIN_HASH_METHODDEF
+ BUILTIN_HEX_METHODDEF
+ BUILTIN_ID_METHODDEF
+ BUILTIN_INPUT_METHODDEF
+ BUILTIN_ISINSTANCE_METHODDEF
+ BUILTIN_ISSUBCLASS_METHODDEF
{"iter", builtin_iter, METH_VARARGS, iter_doc},
- {"len", builtin_len, METH_O, len_doc},
- {"locals", (PyCFunction)builtin_locals, METH_NOARGS, locals_doc},
+ BUILTIN_LEN_METHODDEF
+ BUILTIN_LOCALS_METHODDEF
{"max", (PyCFunction)builtin_max, METH_VARARGS | METH_KEYWORDS, max_doc},
{"min", (PyCFunction)builtin_min, METH_VARARGS | METH_KEYWORDS, min_doc},
{"next", (PyCFunction)builtin_next, METH_VARARGS, next_doc},
- {"oct", builtin_oct, METH_O, oct_doc},
- {"ord", builtin_ord, METH_O, ord_doc},
- {"pow", builtin_pow, METH_VARARGS, pow_doc},
+ BUILTIN_OCT_METHODDEF
+ BUILTIN_ORD_METHODDEF
+ BUILTIN_POW_METHODDEF
{"print", (PyCFunction)builtin_print, METH_VARARGS | METH_KEYWORDS, print_doc},
- {"repr", builtin_repr, METH_O, repr_doc},
+ BUILTIN_REPR_METHODDEF
{"round", (PyCFunction)builtin_round, METH_VARARGS | METH_KEYWORDS, round_doc},
- {"setattr", builtin_setattr, METH_VARARGS, setattr_doc},
- {"sorted", (PyCFunction)builtin_sorted, METH_VARARGS | METH_KEYWORDS, sorted_doc},
- {"sum", builtin_sum, METH_VARARGS, sum_doc},
+ BUILTIN_SETATTR_METHODDEF
+ BUILTIN_SORTED_METHODDEF
+ BUILTIN_SUM_METHODDEF
{"vars", builtin_vars, METH_VARARGS, vars_doc},
{NULL, NULL},
};
diff --git a/Python/ceval.c b/Python/ceval.c
index 7656b8e..e09ff34 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1504,6 +1504,18 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
DISPATCH();
}
+ TARGET(BINARY_MATRIX_MULTIPLY) {
+ PyObject *right = POP();
+ PyObject *left = TOP();
+ PyObject *res = PyNumber_MatrixMultiply(left, right);
+ Py_DECREF(left);
+ Py_DECREF(right);
+ SET_TOP(res);
+ if (res == NULL)
+ goto error;
+ DISPATCH();
+ }
+
TARGET(BINARY_TRUE_DIVIDE) {
PyObject *divisor = POP();
PyObject *dividend = TOP();
@@ -1694,6 +1706,18 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
DISPATCH();
}
+ TARGET(INPLACE_MATRIX_MULTIPLY) {
+ PyObject *right = POP();
+ PyObject *left = TOP();
+ PyObject *res = PyNumber_InPlaceMatrixMultiply(left, right);
+ Py_DECREF(left);
+ Py_DECREF(right);
+ SET_TOP(res);
+ if (res == NULL)
+ goto error;
+ DISPATCH();
+ }
+
TARGET(INPLACE_TRUE_DIVIDE) {
PyObject *divisor = POP();
PyObject *dividend = TOP();
@@ -3387,10 +3411,11 @@ too_many_positional(PyCodeObject *co, int given, int defcount, PyObject **fastlo
PyEval_EvalFrame() and PyEval_EvalCodeEx() you will need to adjust
the test in the if statements in Misc/gdbinit (pystack and pystackv). */
-PyObject *
-PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals,
+static PyObject *
+_PyEval_EvalCodeWithName(PyObject *_co, PyObject *globals, PyObject *locals,
PyObject **args, int argcount, PyObject **kws, int kwcount,
- PyObject **defs, int defcount, PyObject *kwdefs, PyObject *closure)
+ PyObject **defs, int defcount, PyObject *kwdefs, PyObject *closure,
+ PyObject *name, PyObject *qualname)
{
PyCodeObject* co = (PyCodeObject*)_co;
PyFrameObject *f;
@@ -3582,7 +3607,7 @@ PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals,
/* Create a new generator that owns the ready to run frame
* and return that as the value. */
- return PyGen_New(f);
+ return PyGen_NewWithQualName(f, name, qualname);
}
retval = PyEval_EvalFrameEx(f,0);
@@ -3601,6 +3626,16 @@ fail: /* Jump here from prelude on failure */
return retval;
}
+PyObject *
+PyEval_EvalCodeEx(PyObject *_co, PyObject *globals, PyObject *locals,
+ PyObject **args, int argcount, PyObject **kws, int kwcount,
+ PyObject **defs, int defcount, PyObject *kwdefs, PyObject *closure)
+{
+ return _PyEval_EvalCodeWithName(_co, globals, locals,
+ args, argcount, kws, kwcount,
+ defs, defcount, kwdefs, closure,
+ NULL, NULL);
+}
static PyObject *
special_lookup(PyObject *o, _Py_Identifier *id)
@@ -4299,6 +4334,8 @@ fast_function(PyObject *func, PyObject ***pp_stack, int n, int na, int nk)
PyObject *globals = PyFunction_GET_GLOBALS(func);
PyObject *argdefs = PyFunction_GET_DEFAULTS(func);
PyObject *kwdefs = PyFunction_GET_KW_DEFAULTS(func);
+ PyObject *name = ((PyFunctionObject *)func) -> func_name;
+ PyObject *qualname = ((PyFunctionObject *)func) -> func_qualname;
PyObject **d = NULL;
int nd = 0;
@@ -4341,10 +4378,11 @@ fast_function(PyObject *func, PyObject ***pp_stack, int n, int na, int nk)
d = &PyTuple_GET_ITEM(argdefs, 0);
nd = Py_SIZE(argdefs);
}
- return PyEval_EvalCodeEx((PyObject*)co, globals,
- (PyObject *)NULL, (*pp_stack)-n, na,
- (*pp_stack)-2*nk, nk, d, nd, kwdefs,
- PyFunction_GET_CLOSURE(func));
+ return _PyEval_EvalCodeWithName((PyObject*)co, globals,
+ (PyObject *)NULL, (*pp_stack)-n, na,
+ (*pp_stack)-2*nk, nk, d, nd, kwdefs,
+ PyFunction_GET_CLOSURE(func),
+ name, qualname);
}
static PyObject *
@@ -4658,11 +4696,29 @@ static PyObject *
import_from(PyObject *v, PyObject *name)
{
PyObject *x;
+ _Py_IDENTIFIER(__name__);
+ PyObject *fullmodname, *pkgname;
x = PyObject_GetAttr(v, name);
- if (x == NULL && PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ if (x != NULL || !PyErr_ExceptionMatches(PyExc_AttributeError))
+ return x;
+ /* Issue #17636: in case this failed because of a circular relative
+ import, try to fallback on reading the module directly from
+ sys.modules. */
+ PyErr_Clear();
+ pkgname = _PyObject_GetAttrId(v, &PyId___name__);
+ if (pkgname == NULL)
+ return NULL;
+ fullmodname = PyUnicode_FromFormat("%U.%U", pkgname, name);
+ Py_DECREF(pkgname);
+ if (fullmodname == NULL)
+ return NULL;
+ x = PyDict_GetItem(PyImport_GetModuleDict(), fullmodname);
+ if (x == NULL)
PyErr_Format(PyExc_ImportError, "cannot import name %R", name);
- }
+ else
+ Py_INCREF(x);
+ Py_DECREF(fullmodname);
return x;
}
diff --git a/Python/ceval_gil.h b/Python/ceval_gil.h
index 2702d5c..4db56b6 100644
--- a/Python/ceval_gil.h
+++ b/Python/ceval_gil.h
@@ -191,7 +191,7 @@ static void drop_gil(PyThreadState *tstate)
if (_Py_atomic_load_relaxed(&gil_drop_request) && tstate != NULL) {
MUTEX_LOCK(switch_mutex);
/* Not switched yet => wait */
- if (_Py_atomic_load_relaxed(&gil_last_holder) == tstate) {
+ if ((PyThreadState*)_Py_atomic_load_relaxed(&gil_last_holder) == tstate) {
RESET_GIL_DROP_REQUEST();
/* NOTE: if COND_WAIT does not atomically start waiting when
releasing the mutex, another thread can run through, take
@@ -239,7 +239,7 @@ _ready:
_Py_atomic_store_relaxed(&gil_locked, 1);
_Py_ANNOTATE_RWLOCK_ACQUIRED(&gil_locked, /*is_write=*/1);
- if (tstate != _Py_atomic_load_relaxed(&gil_last_holder)) {
+ if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil_last_holder)) {
_Py_atomic_store_relaxed(&gil_last_holder, tstate);
++gil_switch_number;
}
diff --git a/Python/clinic/import.c.h b/Python/clinic/import.c.h
new file mode 100644
index 0000000..7618577
--- /dev/null
+++ b/Python/clinic/import.c.h
@@ -0,0 +1,323 @@
+/*[clinic input]
+preserve
+[clinic start generated code]*/
+
+PyDoc_STRVAR(_imp_lock_held__doc__,
+"lock_held($module, /)\n"
+"--\n"
+"\n"
+"Return True if the import lock is currently held, else False.\n"
+"\n"
+"On platforms without threads, return False.");
+
+#define _IMP_LOCK_HELD_METHODDEF \
+ {"lock_held", (PyCFunction)_imp_lock_held, METH_NOARGS, _imp_lock_held__doc__},
+
+static PyObject *
+_imp_lock_held_impl(PyModuleDef *module);
+
+static PyObject *
+_imp_lock_held(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return _imp_lock_held_impl(module);
+}
+
+PyDoc_STRVAR(_imp_acquire_lock__doc__,
+"acquire_lock($module, /)\n"
+"--\n"
+"\n"
+"Acquires the interpreter\'s import lock for the current thread.\n"
+"\n"
+"This lock should be used by import hooks to ensure thread-safety when importing\n"
+"modules. On platforms without threads, this function does nothing.");
+
+#define _IMP_ACQUIRE_LOCK_METHODDEF \
+ {"acquire_lock", (PyCFunction)_imp_acquire_lock, METH_NOARGS, _imp_acquire_lock__doc__},
+
+static PyObject *
+_imp_acquire_lock_impl(PyModuleDef *module);
+
+static PyObject *
+_imp_acquire_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return _imp_acquire_lock_impl(module);
+}
+
+PyDoc_STRVAR(_imp_release_lock__doc__,
+"release_lock($module, /)\n"
+"--\n"
+"\n"
+"Release the interpreter\'s import lock.\n"
+"\n"
+"On platforms without threads, this function does nothing.");
+
+#define _IMP_RELEASE_LOCK_METHODDEF \
+ {"release_lock", (PyCFunction)_imp_release_lock, METH_NOARGS, _imp_release_lock__doc__},
+
+static PyObject *
+_imp_release_lock_impl(PyModuleDef *module);
+
+static PyObject *
+_imp_release_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return _imp_release_lock_impl(module);
+}
+
+PyDoc_STRVAR(_imp__fix_co_filename__doc__,
+"_fix_co_filename($module, code, path, /)\n"
+"--\n"
+"\n"
+"Changes code.co_filename to specify the passed-in file path.\n"
+"\n"
+" code\n"
+" Code object to change.\n"
+" path\n"
+" File path to use.");
+
+#define _IMP__FIX_CO_FILENAME_METHODDEF \
+ {"_fix_co_filename", (PyCFunction)_imp__fix_co_filename, METH_VARARGS, _imp__fix_co_filename__doc__},
+
+static PyObject *
+_imp__fix_co_filename_impl(PyModuleDef *module, PyCodeObject *code, PyObject *path);
+
+static PyObject *
+_imp__fix_co_filename(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyCodeObject *code;
+ PyObject *path;
+
+ if (!PyArg_ParseTuple(args,
+ "O!U:_fix_co_filename",
+ &PyCode_Type, &code, &path))
+ goto exit;
+ return_value = _imp__fix_co_filename_impl(module, code, path);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_extension_suffixes__doc__,
+"extension_suffixes($module, /)\n"
+"--\n"
+"\n"
+"Returns the list of file suffixes used to identify extension modules.");
+
+#define _IMP_EXTENSION_SUFFIXES_METHODDEF \
+ {"extension_suffixes", (PyCFunction)_imp_extension_suffixes, METH_NOARGS, _imp_extension_suffixes__doc__},
+
+static PyObject *
+_imp_extension_suffixes_impl(PyModuleDef *module);
+
+static PyObject *
+_imp_extension_suffixes(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
+{
+ return _imp_extension_suffixes_impl(module);
+}
+
+PyDoc_STRVAR(_imp_init_builtin__doc__,
+"init_builtin($module, name, /)\n"
+"--\n"
+"\n"
+"Initializes a built-in module.");
+
+#define _IMP_INIT_BUILTIN_METHODDEF \
+ {"init_builtin", (PyCFunction)_imp_init_builtin, METH_VARARGS, _imp_init_builtin__doc__},
+
+static PyObject *
+_imp_init_builtin_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_init_builtin(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:init_builtin",
+ &name))
+ goto exit;
+ return_value = _imp_init_builtin_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_init_frozen__doc__,
+"init_frozen($module, name, /)\n"
+"--\n"
+"\n"
+"Initializes a frozen module.");
+
+#define _IMP_INIT_FROZEN_METHODDEF \
+ {"init_frozen", (PyCFunction)_imp_init_frozen, METH_VARARGS, _imp_init_frozen__doc__},
+
+static PyObject *
+_imp_init_frozen_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_init_frozen(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:init_frozen",
+ &name))
+ goto exit;
+ return_value = _imp_init_frozen_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_get_frozen_object__doc__,
+"get_frozen_object($module, name, /)\n"
+"--\n"
+"\n"
+"Create a code object for a frozen module.");
+
+#define _IMP_GET_FROZEN_OBJECT_METHODDEF \
+ {"get_frozen_object", (PyCFunction)_imp_get_frozen_object, METH_VARARGS, _imp_get_frozen_object__doc__},
+
+static PyObject *
+_imp_get_frozen_object_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_get_frozen_object(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:get_frozen_object",
+ &name))
+ goto exit;
+ return_value = _imp_get_frozen_object_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_is_frozen_package__doc__,
+"is_frozen_package($module, name, /)\n"
+"--\n"
+"\n"
+"Returns True if the module name is of a frozen package.");
+
+#define _IMP_IS_FROZEN_PACKAGE_METHODDEF \
+ {"is_frozen_package", (PyCFunction)_imp_is_frozen_package, METH_VARARGS, _imp_is_frozen_package__doc__},
+
+static PyObject *
+_imp_is_frozen_package_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_is_frozen_package(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:is_frozen_package",
+ &name))
+ goto exit;
+ return_value = _imp_is_frozen_package_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_is_builtin__doc__,
+"is_builtin($module, name, /)\n"
+"--\n"
+"\n"
+"Returns True if the module name corresponds to a built-in module.");
+
+#define _IMP_IS_BUILTIN_METHODDEF \
+ {"is_builtin", (PyCFunction)_imp_is_builtin, METH_VARARGS, _imp_is_builtin__doc__},
+
+static PyObject *
+_imp_is_builtin_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_is_builtin(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:is_builtin",
+ &name))
+ goto exit;
+ return_value = _imp_is_builtin_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+PyDoc_STRVAR(_imp_is_frozen__doc__,
+"is_frozen($module, name, /)\n"
+"--\n"
+"\n"
+"Returns True if the module name corresponds to a frozen module.");
+
+#define _IMP_IS_FROZEN_METHODDEF \
+ {"is_frozen", (PyCFunction)_imp_is_frozen, METH_VARARGS, _imp_is_frozen__doc__},
+
+static PyObject *
+_imp_is_frozen_impl(PyModuleDef *module, PyObject *name);
+
+static PyObject *
+_imp_is_frozen(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+
+ if (!PyArg_ParseTuple(args,
+ "U:is_frozen",
+ &name))
+ goto exit;
+ return_value = _imp_is_frozen_impl(module, name);
+
+exit:
+ return return_value;
+}
+
+#if defined(HAVE_DYNAMIC_LOADING)
+
+PyDoc_STRVAR(_imp_load_dynamic__doc__,
+"load_dynamic($module, name, path, file=None, /)\n"
+"--\n"
+"\n"
+"Loads an extension module.");
+
+#define _IMP_LOAD_DYNAMIC_METHODDEF \
+ {"load_dynamic", (PyCFunction)_imp_load_dynamic, METH_VARARGS, _imp_load_dynamic__doc__},
+
+static PyObject *
+_imp_load_dynamic_impl(PyModuleDef *module, PyObject *name, PyObject *path, PyObject *file);
+
+static PyObject *
+_imp_load_dynamic(PyModuleDef *module, PyObject *args)
+{
+ PyObject *return_value = NULL;
+ PyObject *name;
+ PyObject *path;
+ PyObject *file = NULL;
+
+ if (!PyArg_ParseTuple(args,
+ "UO&|O:load_dynamic",
+ &name, PyUnicode_FSDecoder, &path, &file))
+ goto exit;
+ return_value = _imp_load_dynamic_impl(module, name, path, file);
+
+exit:
+ return return_value;
+}
+
+#endif /* defined(HAVE_DYNAMIC_LOADING) */
+
+#ifndef _IMP_LOAD_DYNAMIC_METHODDEF
+ #define _IMP_LOAD_DYNAMIC_METHODDEF
+#endif /* !defined(_IMP_LOAD_DYNAMIC_METHODDEF) */
+/*[clinic end generated code: output=087a1f22e9febcc7 input=a9049054013a1b77]*/
diff --git a/Python/codecs.c b/Python/codecs.c
index 6849c0f..a558859 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -9,6 +9,7 @@ Copyright (c) Corporation for National Research Initiatives.
------------------------------------------------------------------------ */
#include "Python.h"
+#include "ucnhash.h"
#include <ctype.h>
const char *Py_hexdigits = "0123456789abcdef";
@@ -863,6 +864,119 @@ PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
{
+ PyObject *object;
+ Py_ssize_t i;
+ Py_ssize_t start;
+ Py_ssize_t end;
+ PyObject *res;
+ unsigned char *outp;
+ int ressize;
+ Py_UCS4 c;
+
+ if (PyObject_IsInstance(exc, PyExc_UnicodeDecodeError)) {
+ unsigned char *p;
+ if (PyUnicodeDecodeError_GetStart(exc, &start))
+ return NULL;
+ if (PyUnicodeDecodeError_GetEnd(exc, &end))
+ return NULL;
+ if (!(object = PyUnicodeDecodeError_GetObject(exc)))
+ return NULL;
+ if (!(p = (unsigned char*)PyBytes_AsString(object))) {
+ Py_DECREF(object);
+ return NULL;
+ }
+ res = PyUnicode_New(4 * (end - start), 127);
+ if (res == NULL) {
+ Py_DECREF(object);
+ return NULL;
+ }
+ outp = PyUnicode_1BYTE_DATA(res);
+ for (i = start; i < end; i++, outp += 4) {
+ unsigned char c = p[i];
+ outp[0] = '\\';
+ outp[1] = 'x';
+ outp[2] = Py_hexdigits[(c>>4)&0xf];
+ outp[3] = Py_hexdigits[c&0xf];
+ }
+
+ assert(_PyUnicode_CheckConsistency(res, 1));
+ Py_DECREF(object);
+ return Py_BuildValue("(Nn)", res, end);
+ }
+ if (PyObject_IsInstance(exc, PyExc_UnicodeEncodeError)) {
+ if (PyUnicodeEncodeError_GetStart(exc, &start))
+ return NULL;
+ if (PyUnicodeEncodeError_GetEnd(exc, &end))
+ return NULL;
+ if (!(object = PyUnicodeEncodeError_GetObject(exc)))
+ return NULL;
+ }
+ else if (PyObject_IsInstance(exc, PyExc_UnicodeTranslateError)) {
+ if (PyUnicodeTranslateError_GetStart(exc, &start))
+ return NULL;
+ if (PyUnicodeTranslateError_GetEnd(exc, &end))
+ return NULL;
+ if (!(object = PyUnicodeTranslateError_GetObject(exc)))
+ return NULL;
+ }
+ else {
+ wrong_exception_type(exc);
+ return NULL;
+ }
+
+ if (end - start > PY_SSIZE_T_MAX / (1+1+8))
+ end = start + PY_SSIZE_T_MAX / (1+1+8);
+ for (i = start, ressize = 0; i < end; ++i) {
+ /* object is guaranteed to be "ready" */
+ c = PyUnicode_READ_CHAR(object, i);
+ if (c >= 0x10000) {
+ ressize += 1+1+8;
+ }
+ else if (c >= 0x100) {
+ ressize += 1+1+4;
+ }
+ else
+ ressize += 1+1+2;
+ }
+ res = PyUnicode_New(ressize, 127);
+ if (res == NULL) {
+ Py_DECREF(object);
+ return NULL;
+ }
+ outp = PyUnicode_1BYTE_DATA(res);
+ for (i = start; i < end; ++i) {
+ c = PyUnicode_READ_CHAR(object, i);
+ *outp++ = '\\';
+ if (c >= 0x00010000) {
+ *outp++ = 'U';
+ *outp++ = Py_hexdigits[(c>>28)&0xf];
+ *outp++ = Py_hexdigits[(c>>24)&0xf];
+ *outp++ = Py_hexdigits[(c>>20)&0xf];
+ *outp++ = Py_hexdigits[(c>>16)&0xf];
+ *outp++ = Py_hexdigits[(c>>12)&0xf];
+ *outp++ = Py_hexdigits[(c>>8)&0xf];
+ }
+ else if (c >= 0x100) {
+ *outp++ = 'u';
+ *outp++ = Py_hexdigits[(c>>12)&0xf];
+ *outp++ = Py_hexdigits[(c>>8)&0xf];
+ }
+ else
+ *outp++ = 'x';
+ *outp++ = Py_hexdigits[(c>>4)&0xf];
+ *outp++ = Py_hexdigits[c&0xf];
+ }
+
+ assert(_PyUnicode_CheckConsistency(res, 1));
+ Py_DECREF(object);
+ return Py_BuildValue("(Nn)", res, end);
+}
+
+static _PyUnicode_Name_CAPI *ucnhash_CAPI = NULL;
+static int ucnhash_initialized = 0;
+
+PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
+{
if (PyObject_IsInstance(exc, PyExc_UnicodeEncodeError)) {
PyObject *restuple;
PyObject *object;
@@ -872,36 +986,57 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
PyObject *res;
unsigned char *outp;
Py_ssize_t ressize;
+ int replsize;
Py_UCS4 c;
+ char buffer[256]; /* NAME_MAXLEN */
if (PyUnicodeEncodeError_GetStart(exc, &start))
return NULL;
if (PyUnicodeEncodeError_GetEnd(exc, &end))
return NULL;
if (!(object = PyUnicodeEncodeError_GetObject(exc)))
return NULL;
- if (end - start > PY_SSIZE_T_MAX / (1+1+8))
- end = start + PY_SSIZE_T_MAX / (1+1+8);
+ if (!ucnhash_initialized) {
+ /* load the unicode data module */
+ ucnhash_CAPI = (_PyUnicode_Name_CAPI *)PyCapsule_Import(
+ PyUnicodeData_CAPSULE_NAME, 1);
+ ucnhash_initialized = 1;
+ }
for (i = start, ressize = 0; i < end; ++i) {
/* object is guaranteed to be "ready" */
c = PyUnicode_READ_CHAR(object, i);
- if (c >= 0x10000) {
- ressize += 1+1+8;
+ if (ucnhash_CAPI &&
+ ucnhash_CAPI->getname(NULL, c, buffer, sizeof(buffer), 1)) {
+ replsize = 1+1+1+strlen(buffer)+1;
+ }
+ else if (c >= 0x10000) {
+ replsize = 1+1+8;
}
else if (c >= 0x100) {
- ressize += 1+1+4;
+ replsize = 1+1+4;
}
else
- ressize += 1+1+2;
+ replsize = 1+1+2;
+ if (ressize > PY_SSIZE_T_MAX - replsize)
+ break;
+ ressize += replsize;
}
+ end = i;
res = PyUnicode_New(ressize, 127);
- if (res == NULL) {
- Py_DECREF(object);
+ if (res==NULL)
return NULL;
- }
for (i = start, outp = PyUnicode_1BYTE_DATA(res);
i < end; ++i) {
c = PyUnicode_READ_CHAR(object, i);
*outp++ = '\\';
+ if (ucnhash_CAPI &&
+ ucnhash_CAPI->getname(NULL, c, buffer, sizeof(buffer), 1)) {
+ *outp++ = 'N';
+ *outp++ = '{';
+ strcpy((char *)outp, buffer);
+ outp += strlen(buffer);
+ *outp++ = '}';
+ continue;
+ }
if (c >= 0x00010000) {
*outp++ = 'U';
*outp++ = Py_hexdigits[(c>>28)&0xf];
@@ -922,6 +1057,7 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
*outp++ = Py_hexdigits[c&0xf];
}
+ assert(outp == PyUnicode_1BYTE_DATA(res) + ressize);
assert(_PyUnicode_CheckConsistency(res, 1));
restuple = Py_BuildValue("(Nn)", res, end);
Py_DECREF(object);
@@ -933,6 +1069,7 @@ PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
}
}
+#define ENC_UNKNOWN -1
#define ENC_UTF8 0
#define ENC_UTF16BE 1
#define ENC_UTF16LE 2
@@ -948,7 +1085,11 @@ get_standard_encoding(const char *encoding, int *bytelength)
encoding += 3;
if (*encoding == '-' || *encoding == '_' )
encoding++;
- if (encoding[0] == '1' && encoding[1] == '6') {
+ if (encoding[0] == '8' && encoding[1] == '\0') {
+ *bytelength = 3;
+ return ENC_UTF8;
+ }
+ else if (encoding[0] == '1' && encoding[1] == '6') {
encoding += 2;
*bytelength = 2;
if (*encoding == '\0') {
@@ -987,9 +1128,11 @@ get_standard_encoding(const char *encoding, int *bytelength)
}
}
}
- /* utf-8 */
- *bytelength = 3;
- return ENC_UTF8;
+ else if (strcmp(encoding, "CP_UTF8") == 0) {
+ *bytelength = 3;
+ return ENC_UTF8;
+ }
+ return ENC_UNKNOWN;
}
/* This handler is declared static until someone demonstrates
@@ -1026,6 +1169,12 @@ PyCodec_SurrogatePassErrors(PyObject *exc)
}
code = get_standard_encoding(encoding, &bytelength);
Py_DECREF(encode);
+ if (code == ENC_UNKNOWN) {
+ /* Not supported, fail with original exception */
+ PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
+ Py_DECREF(object);
+ return NULL;
+ }
if (end - start > PY_SSIZE_T_MAX / bytelength)
end = start + PY_SSIZE_T_MAX / bytelength;
@@ -1102,6 +1251,12 @@ PyCodec_SurrogatePassErrors(PyObject *exc)
}
code = get_standard_encoding(encoding, &bytelength);
Py_DECREF(encode);
+ if (code == ENC_UNKNOWN) {
+ /* Not supported, fail with original exception */
+ PyErr_SetObject(PyExceptionInstance_Class(exc), exc);
+ Py_DECREF(object);
+ return NULL;
+ }
/* Try decoding a single surrogate character. If
there are more, let the codec call us again. */
@@ -1257,6 +1412,11 @@ static PyObject *backslashreplace_errors(PyObject *self, PyObject *exc)
return PyCodec_BackslashReplaceErrors(exc);
}
+static PyObject *namereplace_errors(PyObject *self, PyObject *exc)
+{
+ return PyCodec_NameReplaceErrors(exc);
+}
+
static PyObject *surrogatepass_errors(PyObject *self, PyObject *exc)
{
return PyCodec_SurrogatePassErrors(exc);
@@ -1322,8 +1482,19 @@ static int _PyCodecRegistry_Init(void)
backslashreplace_errors,
METH_O,
PyDoc_STR("Implements the 'backslashreplace' error handling, "
+ "which replaces malformed data with a backslashed "
+ "escape sequence.")
+ }
+ },
+ {
+ "namereplace",
+ {
+ "namereplace_errors",
+ namereplace_errors,
+ METH_O,
+ PyDoc_STR("Implements the 'namereplace' error handling, "
"which replaces an unencodable character with a "
- "backslashed escape sequence.")
+ "\\N{...} escape sequence.")
}
},
{
diff --git a/Python/compile.c b/Python/compile.c
index b07c156..97fe5c2 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -30,8 +30,6 @@
#include "symtable.h"
#include "opcode.h"
-int Py_OptimizeFlag = 0;
-
#define DEFAULT_BLOCK_SIZE 16
#define DEFAULT_BLOCKS 8
#define DEFAULT_CODE_SIZE 128
@@ -881,6 +879,7 @@ PyCompile_OpcodeStackEffect(int opcode, int oparg)
case BINARY_POWER:
case BINARY_MULTIPLY:
+ case BINARY_MATRIX_MULTIPLY:
case BINARY_MODULO:
case BINARY_ADD:
case BINARY_SUBTRACT:
@@ -895,6 +894,7 @@ PyCompile_OpcodeStackEffect(int opcode, int oparg)
case INPLACE_ADD:
case INPLACE_SUBTRACT:
case INPLACE_MULTIPLY:
+ case INPLACE_MATRIX_MULTIPLY:
case INPLACE_MODULO:
return -1;
case STORE_SUBSCR:
@@ -1938,7 +1938,7 @@ compiler_if(struct compiler *c, stmt_ty s)
} else if (constant == 1) {
VISIT_SEQ(c, stmt, s->v.If.body);
} else {
- if (s->v.If.orelse) {
+ if (asdl_seq_LEN(s->v.If.orelse)) {
next = compiler_new_block(c);
if (next == NULL)
return 0;
@@ -1948,8 +1948,8 @@ compiler_if(struct compiler *c, stmt_ty s)
VISIT(c, expr, s->v.If.test);
ADDOP_JABS(c, POP_JUMP_IF_FALSE, next);
VISIT_SEQ(c, stmt, s->v.If.body);
- ADDOP_JREL(c, JUMP_FORWARD, end);
- if (s->v.If.orelse) {
+ if (asdl_seq_LEN(s->v.If.orelse)) {
+ ADDOP_JREL(c, JUMP_FORWARD, end);
compiler_use_next_block(c, next);
VISIT_SEQ(c, stmt, s->v.If.orelse);
}
@@ -2624,6 +2624,8 @@ binop(struct compiler *c, operator_ty op)
return BINARY_SUBTRACT;
case Mult:
return BINARY_MULTIPLY;
+ case MatMult:
+ return BINARY_MATRIX_MULTIPLY;
case Div:
return BINARY_TRUE_DIVIDE;
case Mod:
@@ -2688,6 +2690,8 @@ inplace_binop(struct compiler *c, operator_ty op)
return INPLACE_SUBTRACT;
case Mult:
return INPLACE_MULTIPLY;
+ case MatMult:
+ return INPLACE_MATRIX_MULTIPLY;
case Div:
return INPLACE_TRUE_DIVIDE;
case Mod:
diff --git a/Python/dynload_win.c b/Python/dynload_win.c
index ffcf0ee..9ed9eea 100644
--- a/Python/dynload_win.c
+++ b/Python/dynload_win.c
@@ -9,6 +9,7 @@
#include <ctype.h>
#include "importdl.h"
+#include "patchlevel.h"
#include <windows.h>
// "activation context" magic - see dl_nt.c...
@@ -17,16 +18,28 @@ extern ULONG_PTR _Py_ActivateActCtx();
void _Py_DeactivateActCtx(ULONG_PTR cookie);
#endif
-const char *_PyImport_DynLoadFiletab[] = {
#ifdef _DEBUG
- "_d.pyd",
+#define PYD_DEBUG_SUFFIX "_d"
+#else
+#define PYD_DEBUG_SUFFIX ""
+#endif
+
+#define STRINGIZE2(x) #x
+#define STRINGIZE(x) STRINGIZE2(x)
+#ifdef PYD_PLATFORM_TAG
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) "-" PYD_PLATFORM_TAG ".pyd"
#else
- ".pyd",
+#define PYD_TAGGED_SUFFIX PYD_DEBUG_SUFFIX ".cp" STRINGIZE(PY_MAJOR_VERSION) STRINGIZE(PY_MINOR_VERSION) ".pyd"
#endif
+
+#define PYD_UNTAGGED_SUFFIX PYD_DEBUG_SUFFIX ".pyd"
+
+const char *_PyImport_DynLoadFiletab[] = {
+ PYD_TAGGED_SUFFIX,
+ PYD_UNTAGGED_SUFFIX,
NULL
};
-
/* Case insensitive string compare, to avoid any dependencies on particular
C RTL implementations */
diff --git a/Python/errors.c b/Python/errors.c
index a980481..940aef3 100644
--- a/Python/errors.c
+++ b/Python/errors.c
@@ -773,19 +773,11 @@ PyErr_BadInternalCall(void)
#define PyErr_BadInternalCall() _PyErr_BadInternalCall(__FILE__, __LINE__)
-
PyObject *
-PyErr_Format(PyObject *exception, const char *format, ...)
+PyErr_FormatV(PyObject *exception, const char *format, va_list vargs)
{
- va_list vargs;
PyObject* string;
-#ifdef HAVE_STDARG_PROTOTYPES
- va_start(vargs, format);
-#else
- va_start(vargs);
-#endif
-
#ifdef Py_DEBUG
/* in debug mode, PyEval_EvalFrameEx() fails with an assertion error
if an exception is set when it is called */
@@ -795,11 +787,24 @@ PyErr_Format(PyObject *exception, const char *format, ...)
string = PyUnicode_FromFormatV(format, vargs);
PyErr_SetObject(exception, string);
Py_XDECREF(string);
- va_end(vargs);
return NULL;
}
+PyObject *
+PyErr_Format(PyObject *exception, const char *format, ...)
+{
+ va_list vargs;
+#ifdef HAVE_STDARG_PROTOTYPES
+ va_start(vargs, format);
+#else
+ va_start(vargs);
+#endif
+ PyErr_FormatV(exception, format, vargs);
+ va_end(vargs);
+ return NULL;
+}
+
PyObject *
PyErr_NewException(const char *name, PyObject *base, PyObject *dict)
diff --git a/Python/fileutils.c b/Python/fileutils.c
index 901a746..c5c8d4e 100644
--- a/Python/fileutils.c
+++ b/Python/fileutils.c
@@ -82,11 +82,11 @@ extern int _Py_normalize_encoding(const char *, char *, size_t);
Values of force_ascii:
- 1: the workaround is used: _Py_wchar2char() uses
- encode_ascii_surrogateescape() and _Py_char2wchar() uses
+ 1: the workaround is used: Py_EncodeLocale() uses
+ encode_ascii_surrogateescape() and Py_DecodeLocale() uses
decode_ascii_surrogateescape()
- 0: the workaround is not used: _Py_wchar2char() uses wcstombs() and
- _Py_char2wchar() uses mbstowcs()
+ 0: the workaround is not used: Py_EncodeLocale() uses wcstombs() and
+ Py_DecodeLocale() uses mbstowcs()
-1: unknown, need to call check_force_ascii() to get the value
*/
static int force_ascii = -1;
@@ -244,24 +244,26 @@ decode_ascii_surrogateescape(const char *arg, size_t *size)
/* Decode a byte string from the locale encoding with the
- surrogateescape error handler (undecodable bytes are decoded as characters
- in range U+DC80..U+DCFF). If a byte sequence can be decoded as a surrogate
+ surrogateescape error handler: undecodable bytes are decoded as characters
+ in range U+DC80..U+DCFF. If a byte sequence can be decoded as a surrogate
character, escape the bytes using the surrogateescape error handler instead
of decoding them.
- Use _Py_wchar2char() to encode the character string back to a byte string.
+ Return a pointer to a newly allocated wide character string, use
+ PyMem_RawFree() to free the memory. If size is not NULL, write the number of
+ wide characters excluding the null character into *size
- Return a pointer to a newly allocated wide character string (use
- PyMem_RawFree() to free the memory) and write the number of written wide
- characters excluding the null character into *size if size is not NULL, or
- NULL on error (decoding or memory allocation error). If size is not NULL,
- *size is set to (size_t)-1 on memory error and (size_t)-2 on decoding
- error.
+ Return NULL on decoding error or memory allocation error. If *size* is not
+ NULL, *size is set to (size_t)-1 on memory error or set to (size_t)-2 on
+ decoding error.
- Conversion errors should never happen, unless there is a bug in the C
- library. */
+ Decoding errors should never happen, unless there is a bug in the C
+ library.
+
+ Use the Py_EncodeLocale() function to encode the character string back to a
+ byte string. */
wchar_t*
-_Py_char2wchar(const char* arg, size_t *size)
+Py_DecodeLocale(const char* arg, size_t *size)
{
#ifdef __APPLE__
wchar_t *wstr;
@@ -399,19 +401,20 @@ oom:
#endif /* __APPLE__ */
}
-/* Encode a (wide) character string to the locale encoding with the
- surrogateescape error handler (characters in range U+DC80..U+DCFF are
- converted to bytes 0x80..0xFF).
+/* Encode a wide character string to the locale encoding with the
+ surrogateescape error handler: surrogate characters in the range
+ U+DC80..U+DCFF are converted to bytes 0x80..0xFF.
- This function is the reverse of _Py_char2wchar().
+ Return a pointer to a newly allocated byte string, use PyMem_Free() to free
+ the memory. Return NULL on encoding or memory allocation error.
- Return a pointer to a newly allocated byte string (use PyMem_Free() to free
- the memory), or NULL on encoding or memory allocation error.
+ If error_pos is not NULL, *error_pos is set to the index of the invalid
+ character on encoding error, or set to (size_t)-1 otherwise.
- If error_pos is not NULL: *error_pos is the index of the invalid character
- on encoding error, or (size_t)-1 otherwise. */
+ Use the Py_DecodeLocale() function to decode the bytes string back to a wide
+ character string. */
char*
-_Py_wchar2char(const wchar_t *text, size_t *error_pos)
+Py_EncodeLocale(const wchar_t *text, size_t *error_pos)
{
#ifdef __APPLE__
Py_ssize_t len;
@@ -530,7 +533,7 @@ _Py_wstat(const wchar_t* path, struct stat *buf)
{
int err;
char *fname;
- fname = _Py_wchar2char(path, NULL);
+ fname = Py_EncodeLocale(path, NULL);
if (fname == NULL) {
errno = EINVAL;
return -1;
@@ -814,7 +817,7 @@ _Py_wfopen(const wchar_t *path, const wchar_t *mode)
errno = EINVAL;
return NULL;
}
- cpath = _Py_wchar2char(path, NULL);
+ cpath = Py_EncodeLocale(path, NULL);
if (cpath == NULL)
return NULL;
f = fopen(cpath, cmode);
@@ -905,7 +908,7 @@ _Py_wreadlink(const wchar_t *path, wchar_t *buf, size_t bufsiz)
int res;
size_t r1;
- cpath = _Py_wchar2char(path, NULL);
+ cpath = Py_EncodeLocale(path, NULL);
if (cpath == NULL) {
errno = EINVAL;
return -1;
@@ -919,7 +922,7 @@ _Py_wreadlink(const wchar_t *path, wchar_t *buf, size_t bufsiz)
return -1;
}
cbuf[res] = '\0'; /* buf will be null terminated */
- wbuf = _Py_char2wchar(cbuf, &r1);
+ wbuf = Py_DecodeLocale(cbuf, &r1);
if (wbuf == NULL) {
errno = EINVAL;
return -1;
@@ -950,7 +953,7 @@ _Py_wrealpath(const wchar_t *path,
wchar_t *wresolved_path;
char *res;
size_t r;
- cpath = _Py_wchar2char(path, NULL);
+ cpath = Py_EncodeLocale(path, NULL);
if (cpath == NULL) {
errno = EINVAL;
return NULL;
@@ -960,7 +963,7 @@ _Py_wrealpath(const wchar_t *path,
if (res == NULL)
return NULL;
- wresolved_path = _Py_char2wchar(cresolved_path, &r);
+ wresolved_path = Py_DecodeLocale(cresolved_path, &r);
if (wresolved_path == NULL) {
errno = EINVAL;
return NULL;
@@ -993,7 +996,7 @@ _Py_wgetcwd(wchar_t *buf, size_t size)
if (getcwd(fname, Py_ARRAY_LENGTH(fname)) == NULL)
return NULL;
- wname = _Py_char2wchar(fname, &len);
+ wname = Py_DecodeLocale(fname, &len);
if (wname == NULL)
return NULL;
if (size <= len) {
@@ -1075,3 +1078,56 @@ _Py_dup(int fd)
return fd;
}
+#ifndef MS_WINDOWS
+/* Get the blocking mode of the file descriptor.
+ Return 0 if the O_NONBLOCK flag is set, 1 if the flag is cleared,
+ raise an exception and return -1 on error. */
+int
+_Py_get_blocking(int fd)
+{
+ int flags = fcntl(fd, F_GETFL, 0);
+ if (flags < 0) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+ }
+
+ return !(flags & O_NONBLOCK);
+}
+
+/* Set the blocking mode of the specified file descriptor.
+
+ Set the O_NONBLOCK flag if blocking is False, clear the O_NONBLOCK flag
+ otherwise.
+
+ Return 0 on success, raise an exception and return -1 on error. */
+int
+_Py_set_blocking(int fd, int blocking)
+{
+#if defined(HAVE_SYS_IOCTL_H) && defined(FIONBIO)
+ int arg = !blocking;
+ if (ioctl(fd, FIONBIO, &arg) < 0)
+ goto error;
+#else
+ int flags, res;
+
+ flags = fcntl(fd, F_GETFL, 0);
+ if (flags < 0)
+ goto error;
+
+ if (blocking)
+ flags = flags & (~O_NONBLOCK);
+ else
+ flags = flags | O_NONBLOCK;
+
+ res = fcntl(fd, F_SETFL, flags);
+ if (res < 0)
+ goto error;
+#endif
+ return 0;
+
+error:
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+}
+#endif
+
diff --git a/Python/formatter_unicode.c b/Python/formatter_unicode.c
index e3a8149..056bb76 100644
--- a/Python/formatter_unicode.c
+++ b/Python/formatter_unicode.c
@@ -846,6 +846,13 @@ format_long_internal(PyObject *value, const InternalFormatSpec *format,
" format specifier 'c'");
goto done;
}
+ /* error to request alternate format */
+ if (format->alternate) {
+ PyErr_SetString(PyExc_ValueError,
+ "Alternate form (#) not allowed with integer"
+ " format specifier 'c'");
+ goto done;
+ }
/* taken from unicodeobject.c formatchar() */
/* Integer input truncated to a character */
diff --git a/Python/frozenmain.c b/Python/frozenmain.c
index b05c94a..de8bd35 100644
--- a/Python/frozenmain.c
+++ b/Python/frozenmain.c
@@ -54,7 +54,7 @@ Py_FrozenMain(int argc, char **argv)
setlocale(LC_ALL, "");
for (i = 0; i < argc; i++) {
- argv_copy[i] = _Py_char2wchar(argv[i], NULL);
+ argv_copy[i] = Py_DecodeLocale(argv[i], NULL);
argv_copy2[i] = argv_copy[i];
if (!argv_copy[i]) {
fprintf(stderr, "Unable to decode the command line argument #%i\n",
diff --git a/Python/getargs.c b/Python/getargs.c
index 3f47b21..f0f8e39 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -872,10 +872,10 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
STORE_SIZE(count);
format++;
} else {
- if (strlen(*p) != count)
- return converterr(
- "bytes without null bytes",
- arg, msgbuf, bufsize);
+ if (strlen(*p) != (size_t)count) {
+ PyErr_SetString(PyExc_ValueError, "embedded null byte");
+ RETURN_ERR_OCCURRED;
+ }
}
break;
}
@@ -948,16 +948,15 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
if (sarg == NULL)
return converterr(CONV_UNICODE,
arg, msgbuf, bufsize);
+ if (strlen(sarg) != (size_t)len) {
+ PyErr_SetString(PyExc_ValueError, "embedded null character");
+ RETURN_ERR_OCCURRED;
+ }
*p = sarg;
}
else
return converterr(c == 'z' ? "str or None" : "str",
arg, msgbuf, bufsize);
- if (*p != NULL && sarg != NULL && (Py_ssize_t) strlen(*p) != len)
- return converterr(
- c == 'z' ? "str without null characters or None"
- : "str without null characters",
- arg, msgbuf, bufsize);
}
break;
}
@@ -994,10 +993,10 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
*p = PyUnicode_AsUnicodeAndSize(arg, &len);
if (*p == NULL)
RETURN_ERR_OCCURRED;
- if (Py_UNICODE_strlen(*p) != len)
- return converterr(
- "str without null characters or None",
- arg, msgbuf, bufsize);
+ if (Py_UNICODE_strlen(*p) != (size_t)len) {
+ PyErr_SetString(PyExc_ValueError, "embedded null character");
+ RETURN_ERR_OCCURRED;
+ }
} else
return converterr(c == 'Z' ? "str or None" : "str",
arg, msgbuf, bufsize);
@@ -1245,7 +1244,8 @@ convertsimple(PyObject *arg, const char **p_format, va_list *p_va, int flags,
supports it directly. */
if (PyObject_GetBuffer(arg, (Py_buffer*)p, PyBUF_WRITABLE) < 0) {
PyErr_Clear();
- return converterr("read-write buffer", arg, msgbuf, bufsize);
+ return converterr("read-write bytes-like object",
+ arg, msgbuf, bufsize);
}
if (!PyBuffer_IsContiguous((Py_buffer*)p, 'C')) {
PyBuffer_Release((Py_buffer*)p);
@@ -1283,7 +1283,7 @@ convertbuffer(PyObject *arg, void **p, char **errmsg)
*errmsg = NULL;
*p = NULL;
if (pb != NULL && pb->bf_releasebuffer != NULL) {
- *errmsg = "read-only pinned buffer";
+ *errmsg = "read-only bytes-like object";
return -1;
}
@@ -1299,7 +1299,7 @@ static int
getbuffer(PyObject *arg, Py_buffer *view, char **errmsg)
{
if (PyObject_GetBuffer(arg, view, PyBUF_SIMPLE) != 0) {
- *errmsg = "bytes or buffer";
+ *errmsg = "bytes-like object";
return -1;
}
if (!PyBuffer_IsContiguous(view, 'C')) {
diff --git a/Python/graminit.c b/Python/graminit.c
index e04999b..9f79d59 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -476,7 +476,7 @@ static state states_16[3] = {
{2, arcs_16_1},
{3, arcs_16_2},
};
-static arc arcs_17_0[12] = {
+static arc arcs_17_0[13] = {
{49, 1},
{50, 1},
{51, 1},
@@ -489,19 +489,20 @@ static arc arcs_17_0[12] = {
{58, 1},
{59, 1},
{60, 1},
+ {61, 1},
};
static arc arcs_17_1[1] = {
{0, 1},
};
static state states_17[2] = {
- {12, arcs_17_0},
+ {13, arcs_17_0},
{1, arcs_17_1},
};
static arc arcs_18_0[1] = {
- {61, 1},
+ {62, 1},
};
static arc arcs_18_1[1] = {
- {62, 2},
+ {63, 2},
};
static arc arcs_18_2[1] = {
{0, 2},
@@ -512,7 +513,7 @@ static state states_18[3] = {
{1, arcs_18_2},
};
static arc arcs_19_0[1] = {
- {63, 1},
+ {64, 1},
};
static arc arcs_19_1[1] = {
{0, 1},
@@ -522,11 +523,11 @@ static state states_19[2] = {
{1, arcs_19_1},
};
static arc arcs_20_0[5] = {
- {64, 1},
{65, 1},
{66, 1},
{67, 1},
{68, 1},
+ {69, 1},
};
static arc arcs_20_1[1] = {
{0, 1},
@@ -536,7 +537,7 @@ static state states_20[2] = {
{1, arcs_20_1},
};
static arc arcs_21_0[1] = {
- {69, 1},
+ {70, 1},
};
static arc arcs_21_1[1] = {
{0, 1},
@@ -546,7 +547,7 @@ static state states_21[2] = {
{1, arcs_21_1},
};
static arc arcs_22_0[1] = {
- {70, 1},
+ {71, 1},
};
static arc arcs_22_1[1] = {
{0, 1},
@@ -556,7 +557,7 @@ static state states_22[2] = {
{1, arcs_22_1},
};
static arc arcs_23_0[1] = {
- {71, 1},
+ {72, 1},
};
static arc arcs_23_1[2] = {
{9, 2},
@@ -581,14 +582,14 @@ static state states_24[2] = {
{1, arcs_24_1},
};
static arc arcs_25_0[1] = {
- {72, 1},
+ {73, 1},
};
static arc arcs_25_1[2] = {
{24, 2},
{0, 1},
};
static arc arcs_25_2[2] = {
- {73, 3},
+ {74, 3},
{0, 2},
};
static arc arcs_25_3[1] = {
@@ -605,8 +606,8 @@ static state states_25[5] = {
{1, arcs_25_4},
};
static arc arcs_26_0[2] = {
- {74, 1},
{75, 1},
+ {76, 1},
};
static arc arcs_26_1[1] = {
{0, 1},
@@ -616,10 +617,10 @@ static state states_26[2] = {
{1, arcs_26_1},
};
static arc arcs_27_0[1] = {
- {76, 1},
+ {77, 1},
};
static arc arcs_27_1[1] = {
- {77, 2},
+ {78, 2},
};
static arc arcs_27_2[1] = {
{0, 2},
@@ -630,32 +631,32 @@ static state states_27[3] = {
{1, arcs_27_2},
};
static arc arcs_28_0[1] = {
- {73, 1},
+ {74, 1},
};
static arc arcs_28_1[3] = {
- {78, 2},
{79, 2},
+ {80, 2},
{12, 3},
};
static arc arcs_28_2[4] = {
- {78, 2},
{79, 2},
+ {80, 2},
{12, 3},
- {76, 4},
+ {77, 4},
};
static arc arcs_28_3[1] = {
- {76, 4},
+ {77, 4},
};
static arc arcs_28_4[3] = {
{31, 5},
{13, 6},
- {80, 5},
+ {81, 5},
};
static arc arcs_28_5[1] = {
{0, 5},
};
static arc arcs_28_6[1] = {
- {80, 7},
+ {81, 7},
};
static arc arcs_28_7[1] = {
{15, 5},
@@ -674,7 +675,7 @@ static arc arcs_29_0[1] = {
{21, 1},
};
static arc arcs_29_1[2] = {
- {82, 2},
+ {83, 2},
{0, 1},
};
static arc arcs_29_2[1] = {
@@ -693,7 +694,7 @@ static arc arcs_30_0[1] = {
{12, 1},
};
static arc arcs_30_1[2] = {
- {82, 2},
+ {83, 2},
{0, 1},
};
static arc arcs_30_2[1] = {
@@ -709,14 +710,14 @@ static state states_30[4] = {
{1, arcs_30_3},
};
static arc arcs_31_0[1] = {
- {81, 1},
+ {82, 1},
};
static arc arcs_31_1[2] = {
{30, 2},
{0, 1},
};
static arc arcs_31_2[2] = {
- {81, 1},
+ {82, 1},
{0, 2},
};
static state states_31[3] = {
@@ -725,7 +726,7 @@ static state states_31[3] = {
{2, arcs_31_2},
};
static arc arcs_32_0[1] = {
- {83, 1},
+ {84, 1},
};
static arc arcs_32_1[2] = {
{30, 0},
@@ -739,7 +740,7 @@ static arc arcs_33_0[1] = {
{21, 1},
};
static arc arcs_33_1[2] = {
- {78, 0},
+ {79, 0},
{0, 1},
};
static state states_33[2] = {
@@ -747,7 +748,7 @@ static state states_33[2] = {
{2, arcs_33_1},
};
static arc arcs_34_0[1] = {
- {84, 1},
+ {85, 1},
};
static arc arcs_34_1[1] = {
{21, 2},
@@ -762,7 +763,7 @@ static state states_34[3] = {
{2, arcs_34_2},
};
static arc arcs_35_0[1] = {
- {85, 1},
+ {86, 1},
};
static arc arcs_35_1[1] = {
{21, 2},
@@ -777,7 +778,7 @@ static state states_35[3] = {
{2, arcs_35_2},
};
static arc arcs_36_0[1] = {
- {86, 1},
+ {87, 1},
};
static arc arcs_36_1[1] = {
{24, 2},
@@ -800,11 +801,11 @@ static state states_36[5] = {
{1, arcs_36_4},
};
static arc arcs_37_0[8] = {
- {87, 1},
{88, 1},
{89, 1},
{90, 1},
{91, 1},
+ {92, 1},
{19, 1},
{18, 1},
{17, 1},
@@ -817,7 +818,7 @@ static state states_37[2] = {
{1, arcs_37_1},
};
static arc arcs_38_0[1] = {
- {92, 1},
+ {93, 1},
};
static arc arcs_38_1[1] = {
{24, 2},
@@ -829,8 +830,8 @@ static arc arcs_38_3[1] = {
{26, 4},
};
static arc arcs_38_4[3] = {
- {93, 1},
- {94, 5},
+ {94, 1},
+ {95, 5},
{0, 4},
};
static arc arcs_38_5[1] = {
@@ -853,7 +854,7 @@ static state states_38[8] = {
{1, arcs_38_7},
};
static arc arcs_39_0[1] = {
- {95, 1},
+ {96, 1},
};
static arc arcs_39_1[1] = {
{24, 2},
@@ -865,7 +866,7 @@ static arc arcs_39_3[1] = {
{26, 4},
};
static arc arcs_39_4[2] = {
- {94, 5},
+ {95, 5},
{0, 4},
};
static arc arcs_39_5[1] = {
@@ -888,13 +889,13 @@ static state states_39[8] = {
{1, arcs_39_7},
};
static arc arcs_40_0[1] = {
- {96, 1},
+ {97, 1},
};
static arc arcs_40_1[1] = {
- {62, 2},
+ {63, 2},
};
static arc arcs_40_2[1] = {
- {97, 3},
+ {98, 3},
};
static arc arcs_40_3[1] = {
{9, 4},
@@ -906,7 +907,7 @@ static arc arcs_40_5[1] = {
{26, 6},
};
static arc arcs_40_6[2] = {
- {94, 7},
+ {95, 7},
{0, 6},
};
static arc arcs_40_7[1] = {
@@ -931,7 +932,7 @@ static state states_40[10] = {
{1, arcs_40_9},
};
static arc arcs_41_0[1] = {
- {98, 1},
+ {99, 1},
};
static arc arcs_41_1[1] = {
{25, 2},
@@ -940,8 +941,8 @@ static arc arcs_41_2[1] = {
{26, 3},
};
static arc arcs_41_3[2] = {
- {99, 4},
- {100, 5},
+ {100, 4},
+ {101, 5},
};
static arc arcs_41_4[1] = {
{25, 6},
@@ -956,9 +957,9 @@ static arc arcs_41_7[1] = {
{26, 9},
};
static arc arcs_41_8[4] = {
- {99, 4},
- {94, 10},
- {100, 5},
+ {100, 4},
+ {95, 10},
+ {101, 5},
{0, 8},
};
static arc arcs_41_9[1] = {
@@ -971,7 +972,7 @@ static arc arcs_41_11[1] = {
{26, 12},
};
static arc arcs_41_12[2] = {
- {100, 5},
+ {101, 5},
{0, 12},
};
static state states_41[13] = {
@@ -990,10 +991,10 @@ static state states_41[13] = {
{2, arcs_41_12},
};
static arc arcs_42_0[1] = {
- {101, 1},
+ {102, 1},
};
static arc arcs_42_1[1] = {
- {102, 2},
+ {103, 2},
};
static arc arcs_42_2[2] = {
{30, 1},
@@ -1016,11 +1017,11 @@ static arc arcs_43_0[1] = {
{24, 1},
};
static arc arcs_43_1[2] = {
- {82, 2},
+ {83, 2},
{0, 1},
};
static arc arcs_43_2[1] = {
- {103, 3},
+ {104, 3},
};
static arc arcs_43_3[1] = {
{0, 3},
@@ -1032,14 +1033,14 @@ static state states_43[4] = {
{1, arcs_43_3},
};
static arc arcs_44_0[1] = {
- {104, 1},
+ {105, 1},
};
static arc arcs_44_1[2] = {
{24, 2},
{0, 1},
};
static arc arcs_44_2[2] = {
- {82, 3},
+ {83, 3},
{0, 2},
};
static arc arcs_44_3[1] = {
@@ -1063,14 +1064,14 @@ static arc arcs_45_1[1] = {
{0, 1},
};
static arc arcs_45_2[1] = {
- {105, 3},
+ {106, 3},
};
static arc arcs_45_3[1] = {
{6, 4},
};
static arc arcs_45_4[2] = {
{6, 4},
- {106, 1},
+ {107, 1},
};
static state states_45[5] = {
{2, arcs_45_0},
@@ -1080,21 +1081,21 @@ static state states_45[5] = {
{2, arcs_45_4},
};
static arc arcs_46_0[2] = {
- {107, 1},
- {108, 2},
+ {108, 1},
+ {109, 2},
};
static arc arcs_46_1[2] = {
- {92, 3},
+ {93, 3},
{0, 1},
};
static arc arcs_46_2[1] = {
{0, 2},
};
static arc arcs_46_3[1] = {
- {107, 4},
+ {108, 4},
};
static arc arcs_46_4[1] = {
- {94, 5},
+ {95, 5},
};
static arc arcs_46_5[1] = {
{24, 2},
@@ -1108,8 +1109,8 @@ static state states_46[6] = {
{1, arcs_46_5},
};
static arc arcs_47_0[2] = {
- {107, 1},
- {110, 1},
+ {108, 1},
+ {111, 1},
};
static arc arcs_47_1[1] = {
{0, 1},
@@ -1119,7 +1120,7 @@ static state states_47[2] = {
{1, arcs_47_1},
};
static arc arcs_48_0[1] = {
- {111, 1},
+ {112, 1},
};
static arc arcs_48_1[2] = {
{33, 2},
@@ -1142,7 +1143,7 @@ static state states_48[5] = {
{1, arcs_48_4},
};
static arc arcs_49_0[1] = {
- {111, 1},
+ {112, 1},
};
static arc arcs_49_1[2] = {
{33, 2},
@@ -1152,7 +1153,7 @@ static arc arcs_49_2[1] = {
{25, 3},
};
static arc arcs_49_3[1] = {
- {109, 4},
+ {110, 4},
};
static arc arcs_49_4[1] = {
{0, 4},
@@ -1165,10 +1166,10 @@ static state states_49[5] = {
{1, arcs_49_4},
};
static arc arcs_50_0[1] = {
- {112, 1},
+ {113, 1},
};
static arc arcs_50_1[2] = {
- {113, 0},
+ {114, 0},
{0, 1},
};
static state states_50[2] = {
@@ -1176,10 +1177,10 @@ static state states_50[2] = {
{2, arcs_50_1},
};
static arc arcs_51_0[1] = {
- {114, 1},
+ {115, 1},
};
static arc arcs_51_1[2] = {
- {115, 0},
+ {116, 0},
{0, 1},
};
static state states_51[2] = {
@@ -1187,11 +1188,11 @@ static state states_51[2] = {
{2, arcs_51_1},
};
static arc arcs_52_0[2] = {
- {116, 1},
- {117, 2},
+ {117, 1},
+ {118, 2},
};
static arc arcs_52_1[1] = {
- {114, 2},
+ {115, 2},
};
static arc arcs_52_2[1] = {
{0, 2},
@@ -1202,10 +1203,10 @@ static state states_52[3] = {
{1, arcs_52_2},
};
static arc arcs_53_0[1] = {
- {103, 1},
+ {104, 1},
};
static arc arcs_53_1[2] = {
- {118, 0},
+ {119, 0},
{0, 1},
};
static state states_53[2] = {
@@ -1213,25 +1214,25 @@ static state states_53[2] = {
{2, arcs_53_1},
};
static arc arcs_54_0[10] = {
- {119, 1},
{120, 1},
{121, 1},
{122, 1},
{123, 1},
{124, 1},
{125, 1},
- {97, 1},
- {116, 2},
- {126, 3},
+ {126, 1},
+ {98, 1},
+ {117, 2},
+ {127, 3},
};
static arc arcs_54_1[1] = {
{0, 1},
};
static arc arcs_54_2[1] = {
- {97, 1},
+ {98, 1},
};
static arc arcs_54_3[2] = {
- {116, 1},
+ {117, 1},
{0, 3},
};
static state states_54[4] = {
@@ -1244,7 +1245,7 @@ static arc arcs_55_0[1] = {
{31, 1},
};
static arc arcs_55_1[1] = {
- {103, 2},
+ {104, 2},
};
static arc arcs_55_2[1] = {
{0, 2},
@@ -1255,10 +1256,10 @@ static state states_55[3] = {
{1, arcs_55_2},
};
static arc arcs_56_0[1] = {
- {127, 1},
+ {128, 1},
};
static arc arcs_56_1[2] = {
- {128, 0},
+ {129, 0},
{0, 1},
};
static state states_56[2] = {
@@ -1266,10 +1267,10 @@ static state states_56[2] = {
{2, arcs_56_1},
};
static arc arcs_57_0[1] = {
- {129, 1},
+ {130, 1},
};
static arc arcs_57_1[2] = {
- {130, 0},
+ {131, 0},
{0, 1},
};
static state states_57[2] = {
@@ -1277,10 +1278,10 @@ static state states_57[2] = {
{2, arcs_57_1},
};
static arc arcs_58_0[1] = {
- {131, 1},
+ {132, 1},
};
static arc arcs_58_1[2] = {
- {132, 0},
+ {133, 0},
{0, 1},
};
static state states_58[2] = {
@@ -1288,11 +1289,11 @@ static state states_58[2] = {
{2, arcs_58_1},
};
static arc arcs_59_0[1] = {
- {133, 1},
+ {134, 1},
};
static arc arcs_59_1[3] = {
- {134, 0},
{135, 0},
+ {136, 0},
{0, 1},
};
static state states_59[2] = {
@@ -1300,11 +1301,11 @@ static state states_59[2] = {
{3, arcs_59_1},
};
static arc arcs_60_0[1] = {
- {136, 1},
+ {137, 1},
};
static arc arcs_60_1[3] = {
- {137, 0},
{138, 0},
+ {139, 0},
{0, 1},
};
static state states_60[2] = {
@@ -1312,27 +1313,28 @@ static state states_60[2] = {
{3, arcs_60_1},
};
static arc arcs_61_0[1] = {
- {139, 1},
+ {140, 1},
};
-static arc arcs_61_1[5] = {
+static arc arcs_61_1[6] = {
{31, 0},
- {140, 0},
+ {11, 0},
{141, 0},
{142, 0},
+ {143, 0},
{0, 1},
};
static state states_61[2] = {
{1, arcs_61_0},
- {5, arcs_61_1},
+ {6, arcs_61_1},
};
static arc arcs_62_0[4] = {
- {137, 1},
{138, 1},
- {143, 1},
- {144, 2},
+ {139, 1},
+ {144, 1},
+ {145, 2},
};
static arc arcs_62_1[1] = {
- {139, 2},
+ {140, 2},
};
static arc arcs_62_2[1] = {
{0, 2},
@@ -1343,15 +1345,15 @@ static state states_62[3] = {
{1, arcs_62_2},
};
static arc arcs_63_0[1] = {
- {145, 1},
+ {146, 1},
};
static arc arcs_63_1[3] = {
- {146, 1},
+ {147, 1},
{32, 2},
{0, 1},
};
static arc arcs_63_2[1] = {
- {139, 3},
+ {140, 3},
};
static arc arcs_63_3[1] = {
{0, 3},
@@ -1364,44 +1366,44 @@ static state states_63[4] = {
};
static arc arcs_64_0[10] = {
{13, 1},
- {148, 2},
- {150, 3},
+ {149, 2},
+ {151, 3},
{21, 4},
- {153, 4},
- {154, 5},
- {79, 4},
- {155, 4},
+ {154, 4},
+ {155, 5},
+ {80, 4},
{156, 4},
{157, 4},
+ {158, 4},
};
static arc arcs_64_1[3] = {
{47, 6},
- {147, 6},
+ {148, 6},
{15, 4},
};
static arc arcs_64_2[2] = {
- {147, 7},
- {149, 4},
+ {148, 7},
+ {150, 4},
};
static arc arcs_64_3[2] = {
- {151, 8},
- {152, 4},
+ {152, 8},
+ {153, 4},
};
static arc arcs_64_4[1] = {
{0, 4},
};
static arc arcs_64_5[2] = {
- {154, 5},
+ {155, 5},
{0, 5},
};
static arc arcs_64_6[1] = {
{15, 4},
};
static arc arcs_64_7[1] = {
- {149, 4},
+ {150, 4},
};
static arc arcs_64_8[1] = {
- {152, 4},
+ {153, 4},
};
static state states_64[9] = {
{10, arcs_64_0},
@@ -1419,7 +1421,7 @@ static arc arcs_65_0[2] = {
{48, 1},
};
static arc arcs_65_1[3] = {
- {158, 2},
+ {159, 2},
{30, 3},
{0, 1},
};
@@ -1444,15 +1446,15 @@ static state states_65[5] = {
};
static arc arcs_66_0[3] = {
{13, 1},
- {148, 2},
- {78, 3},
+ {149, 2},
+ {79, 3},
};
static arc arcs_66_1[2] = {
{14, 4},
{15, 5},
};
static arc arcs_66_2[1] = {
- {159, 6},
+ {160, 6},
};
static arc arcs_66_3[1] = {
{21, 5},
@@ -1464,7 +1466,7 @@ static arc arcs_66_5[1] = {
{0, 5},
};
static arc arcs_66_6[1] = {
- {149, 5},
+ {150, 5},
};
static state states_66[7] = {
{3, arcs_66_0},
@@ -1476,14 +1478,14 @@ static state states_66[7] = {
{1, arcs_66_6},
};
static arc arcs_67_0[1] = {
- {160, 1},
+ {161, 1},
};
static arc arcs_67_1[2] = {
{30, 2},
{0, 1},
};
static arc arcs_67_2[2] = {
- {160, 1},
+ {161, 1},
{0, 2},
};
static state states_67[3] = {
@@ -1501,11 +1503,11 @@ static arc arcs_68_1[2] = {
};
static arc arcs_68_2[3] = {
{24, 3},
- {161, 4},
+ {162, 4},
{0, 2},
};
static arc arcs_68_3[2] = {
- {161, 4},
+ {162, 4},
{0, 3},
};
static arc arcs_68_4[1] = {
@@ -1534,7 +1536,7 @@ static state states_69[3] = {
{1, arcs_69_2},
};
static arc arcs_70_0[2] = {
- {103, 1},
+ {104, 1},
{48, 1},
};
static arc arcs_70_1[2] = {
@@ -1542,7 +1544,7 @@ static arc arcs_70_1[2] = {
{0, 1},
};
static arc arcs_70_2[3] = {
- {103, 1},
+ {104, 1},
{48, 1},
{0, 2},
};
@@ -1572,7 +1574,7 @@ static arc arcs_72_0[1] = {
};
static arc arcs_72_1[4] = {
{25, 2},
- {158, 3},
+ {159, 3},
{30, 4},
{0, 1},
};
@@ -1587,7 +1589,7 @@ static arc arcs_72_4[2] = {
{0, 4},
};
static arc arcs_72_5[3] = {
- {158, 3},
+ {159, 3},
{30, 7},
{0, 5},
};
@@ -1623,7 +1625,7 @@ static state states_72[11] = {
{2, arcs_72_10},
};
static arc arcs_73_0[1] = {
- {162, 1},
+ {163, 1},
};
static arc arcs_73_1[1] = {
{21, 2},
@@ -1659,7 +1661,7 @@ static state states_73[8] = {
{1, arcs_73_7},
};
static arc arcs_74_0[3] = {
- {163, 1},
+ {164, 1},
{31, 2},
{32, 3},
};
@@ -1674,7 +1676,7 @@ static arc arcs_74_3[1] = {
{24, 6},
};
static arc arcs_74_4[4] = {
- {163, 1},
+ {164, 1},
{31, 2},
{32, 3},
{0, 4},
@@ -1687,7 +1689,7 @@ static arc arcs_74_6[1] = {
{0, 6},
};
static arc arcs_74_7[2] = {
- {163, 5},
+ {164, 5},
{32, 3},
};
static state states_74[8] = {
@@ -1704,7 +1706,7 @@ static arc arcs_75_0[1] = {
{24, 1},
};
static arc arcs_75_1[3] = {
- {158, 2},
+ {159, 2},
{29, 3},
{0, 1},
};
@@ -1721,8 +1723,8 @@ static state states_75[4] = {
{1, arcs_75_3},
};
static arc arcs_76_0[2] = {
- {158, 1},
- {165, 1},
+ {159, 1},
+ {166, 1},
};
static arc arcs_76_1[1] = {
{0, 1},
@@ -1732,19 +1734,19 @@ static state states_76[2] = {
{1, arcs_76_1},
};
static arc arcs_77_0[1] = {
- {96, 1},
+ {97, 1},
};
static arc arcs_77_1[1] = {
- {62, 2},
+ {63, 2},
};
static arc arcs_77_2[1] = {
- {97, 3},
+ {98, 3},
};
static arc arcs_77_3[1] = {
- {107, 4},
+ {108, 4},
};
static arc arcs_77_4[2] = {
- {164, 5},
+ {165, 5},
{0, 4},
};
static arc arcs_77_5[1] = {
@@ -1759,13 +1761,13 @@ static state states_77[6] = {
{1, arcs_77_5},
};
static arc arcs_78_0[1] = {
- {92, 1},
+ {93, 1},
};
static arc arcs_78_1[1] = {
- {109, 2},
+ {110, 2},
};
static arc arcs_78_2[2] = {
- {164, 3},
+ {165, 3},
{0, 2},
};
static arc arcs_78_3[1] = {
@@ -1788,10 +1790,10 @@ static state states_79[2] = {
{1, arcs_79_1},
};
static arc arcs_80_0[1] = {
- {167, 1},
+ {168, 1},
};
static arc arcs_80_1[2] = {
- {168, 2},
+ {169, 2},
{0, 1},
};
static arc arcs_80_2[1] = {
@@ -1803,7 +1805,7 @@ static state states_80[3] = {
{1, arcs_80_2},
};
static arc arcs_81_0[2] = {
- {73, 1},
+ {74, 1},
{9, 2},
};
static arc arcs_81_1[1] = {
@@ -1819,11 +1821,11 @@ static state states_81[3] = {
};
static dfa dfas[82] = {
{256, "single_input", 0, 3, states_0,
- "\004\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"},
+ "\004\050\060\200\000\000\000\100\301\047\341\040\113\000\041\000\000\014\241\174\010\001"},
{257, "file_input", 0, 2, states_1,
- "\204\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"},
+ "\204\050\060\200\000\000\000\100\301\047\341\040\113\000\041\000\000\014\241\174\010\001"},
{258, "eval_input", 0, 3, states_2,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{259, "decorator", 0, 7, states_3,
"\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{260, "decorators", 0, 2, states_4,
@@ -1843,39 +1845,39 @@ static dfa dfas[82] = {
{267, "vfpdef", 0, 2, states_11,
"\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{268, "stmt", 0, 2, states_12,
- "\000\050\060\200\000\000\000\240\340\223\160\220\045\200\020\000\000\206\120\076\204\000"},
+ "\000\050\060\200\000\000\000\100\301\047\341\040\113\000\041\000\000\014\241\174\010\001"},
{269, "simple_stmt", 0, 4, states_13,
- "\000\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"},
+ "\000\040\040\200\000\000\000\100\301\047\341\000\000\000\041\000\000\014\241\174\000\001"},
{270, "small_stmt", 0, 2, states_14,
- "\000\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"},
+ "\000\040\040\200\000\000\000\100\301\047\341\000\000\000\041\000\000\014\241\174\000\001"},
{271, "expr_stmt", 0, 6, states_15,
- "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\200\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{272, "testlist_star_expr", 0, 3, states_16,
- "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\200\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{273, "augassign", 0, 2, states_17,
- "\000\000\000\000\000\000\376\037\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\376\077\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{274, "del_stmt", 0, 3, states_18,
- "\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{275, "pass_stmt", 0, 2, states_19,
- "\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{276, "flow_stmt", 0, 2, states_20,
- "\000\000\000\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000\000\200\000"},
+ "\000\000\000\000\000\000\000\000\300\003\000\000\000\000\000\000\000\000\000\000\000\001"},
{277, "break_stmt", 0, 2, states_21,
- "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {278, "continue_stmt", 0, 2, states_22,
"\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000"},
- {279, "return_stmt", 0, 3, states_23,
+ {278, "continue_stmt", 0, 2, states_22,
"\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000"},
+ {279, "return_stmt", 0, 3, states_23,
+ "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"},
{280, "yield_stmt", 0, 2, states_24,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
{281, "raise_stmt", 0, 5, states_25,
- "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"},
{282, "import_stmt", 0, 2, states_26,
- "\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\044\000\000\000\000\000\000\000\000\000\000\000\000"},
{283, "import_name", 0, 3, states_27,
- "\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000"},
{284, "import_from", 0, 8, states_28,
- "\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000"},
{285, "import_as_name", 0, 4, states_29,
"\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{286, "dotted_as_name", 0, 4, states_30,
@@ -1887,103 +1889,103 @@ static dfa dfas[82] = {
{289, "dotted_name", 0, 2, states_33,
"\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{290, "global_stmt", 0, 3, states_34,
- "\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000"},
- {291, "nonlocal_stmt", 0, 3, states_35,
"\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
- {292, "assert_stmt", 0, 5, states_36,
+ {291, "nonlocal_stmt", 0, 3, states_35,
"\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"},
+ {292, "assert_stmt", 0, 5, states_36,
+ "\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"},
{293, "compound_stmt", 0, 2, states_37,
- "\000\010\020\000\000\000\000\000\000\000\000\220\045\000\000\000\000\000\000\000\004\000"},
+ "\000\010\020\000\000\000\000\000\000\000\000\040\113\000\000\000\000\000\000\000\010\000"},
{294, "if_stmt", 0, 8, states_38,
- "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
{295, "while_stmt", 0, 8, states_39,
- "\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
- {296, "for_stmt", 0, 10, states_40,
"\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
+ {296, "for_stmt", 0, 10, states_40,
+ "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
{297, "try_stmt", 0, 13, states_41,
- "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000\000\000"},
{298, "with_stmt", 0, 5, states_42,
- "\000\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
{299, "with_item", 0, 4, states_43,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{300, "except_clause", 0, 5, states_44,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000"},
{301, "suite", 0, 5, states_45,
- "\004\040\040\200\000\000\000\240\340\223\160\000\000\200\020\000\000\206\120\076\200\000"},
+ "\004\040\040\200\000\000\000\100\301\047\341\000\000\000\041\000\000\014\241\174\000\001"},
{302, "test", 0, 6, states_46,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{303, "test_nocond", 0, 2, states_47,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{304, "lambdef", 0, 5, states_48,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000"},
{305, "lambdef_nocond", 0, 5, states_49,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000"},
{306, "or_test", 0, 2, states_50,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\040\000\000\014\241\174\000\000"},
{307, "and_test", 0, 2, states_51,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\040\000\000\014\241\174\000\000"},
{308, "not_test", 0, 3, states_52,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\040\000\000\014\241\174\000\000"},
{309, "comparison", 0, 2, states_53,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{310, "comp_op", 0, 4, states_54,
- "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\220\177\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\004\000\040\377\000\000\000\000\000\000"},
{311, "star_expr", 0, 3, states_55,
"\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{312, "expr", 0, 2, states_56,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{313, "xor_expr", 0, 2, states_57,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{314, "and_expr", 0, 2, states_58,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{315, "shift_expr", 0, 2, states_59,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{316, "arith_expr", 0, 2, states_60,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{317, "term", 0, 2, states_61,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{318, "factor", 0, 3, states_62,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{319, "power", 0, 4, states_63,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\240\174\000\000"},
{320, "atom", 0, 9, states_64,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\240\174\000\000"},
{321, "testlist_comp", 0, 5, states_65,
- "\000\040\040\200\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\200\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{322, "trailer", 0, 7, states_66,
- "\000\040\000\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\020\000\000\000"},
+ "\000\040\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\040\000\000\000"},
{323, "subscriptlist", 0, 3, states_67,
- "\000\040\040\002\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\002\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{324, "subscript", 0, 5, states_68,
- "\000\040\040\002\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\002\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{325, "sliceop", 0, 3, states_69,
"\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{326, "exprlist", 0, 3, states_70,
- "\000\040\040\200\000\000\000\000\000\200\000\000\000\000\000\000\000\206\120\076\000\000"},
+ "\000\040\040\200\000\000\000\000\000\000\001\000\000\000\000\000\000\014\241\174\000\000"},
{327, "testlist", 0, 3, states_71,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{328, "dictorsetmaker", 0, 11, states_72,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{329, "classdef", 0, 8, states_73,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"},
{330, "arglist", 0, 8, states_74,
- "\000\040\040\200\001\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\200\001\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{331, "argument", 0, 4, states_75,
- "\000\040\040\000\000\000\000\000\000\200\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\000\001\000\000\000\041\000\000\014\241\174\000\000"},
{332, "comp_iter", 0, 2, states_76,
- "\000\000\000\000\000\000\000\000\000\000\000\020\001\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\040\002\000\000\000\000\000\000\000\000\000"},
{333, "comp_for", 0, 6, states_77,
- "\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000"},
{334, "comp_if", 0, 4, states_78,
- "\000\000\000\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
{335, "encoding_decl", 0, 2, states_79,
"\000\000\040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
{336, "yield_expr", 0, 3, states_80,
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200\000"},
+ "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
{337, "yield_arg", 0, 3, states_81,
- "\000\040\040\000\000\000\000\000\000\202\000\000\000\200\020\000\000\206\120\076\000\000"},
+ "\000\040\040\000\000\000\000\000\000\004\001\000\000\000\041\000\000\014\241\174\000\000"},
};
-static label labels[169] = {
+static label labels[170] = {
{0, "EMPTY"},
{256, 0},
{4, 0},
@@ -2007,7 +2009,7 @@ static label labels[169] = {
{1, "def"},
{1, 0},
{263, 0},
- {50, 0},
+ {51, 0},
{302, 0},
{11, 0},
{301, 0},
@@ -2036,6 +2038,7 @@ static label labels[169] = {
{36, 0},
{37, 0},
{38, 0},
+ {50, 0},
{39, 0},
{40, 0},
{41, 0},
@@ -2063,7 +2066,7 @@ static label labels[169] = {
{1, "import"},
{288, 0},
{23, 0},
- {51, 0},
+ {52, 0},
{287, 0},
{285, 0},
{1, "as"},
@@ -2157,6 +2160,6 @@ static label labels[169] = {
grammar _PyParser_Grammar = {
82,
dfas,
- {169, labels},
+ {170, labels},
256
};
diff --git a/Python/import.c b/Python/import.c
index 7ee7ed9..c3b9e12 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -32,9 +32,12 @@ struct _inittab *PyImport_Inittab = _PyImport_Inittab;
static PyObject *initstr = NULL;
/*[clinic input]
+output preset file
module _imp
[clinic start generated code]*/
-/*[clinic end generated code: output=da39a3ee5e6b4b0d input=9c332475d8686284]*/
+/*[clinic end generated code: output=da39a3ee5e6b4b0d input=98c38221164579d5]*/
+
+#include "clinic/import.c.h"
/*[python input]
class fs_unicode_converter(CConverter):
@@ -235,29 +238,9 @@ Return True if the import lock is currently held, else False.
On platforms without threads, return False.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_lock_held__doc__,
-"lock_held($module, /)\n"
-"--\n"
-"\n"
-"Return True if the import lock is currently held, else False.\n"
-"\n"
-"On platforms without threads, return False.");
-
-#define _IMP_LOCK_HELD_METHODDEF \
- {"lock_held", (PyCFunction)_imp_lock_held, METH_NOARGS, _imp_lock_held__doc__},
-
-static PyObject *
-_imp_lock_held_impl(PyModuleDef *module);
-
-static PyObject *
-_imp_lock_held(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
-{
- return _imp_lock_held_impl(module);
-}
-
static PyObject *
_imp_lock_held_impl(PyModuleDef *module)
-/*[clinic end generated code: output=dae65674966baa65 input=9b088f9b217d9bdf]*/
+/*[clinic end generated code: output=d7a8cc3a5169081a input=9b088f9b217d9bdf]*/
{
#ifdef WITH_THREAD
return PyBool_FromLong(import_lock_thread != -1);
@@ -275,30 +258,9 @@ This lock should be used by import hooks to ensure thread-safety when importing
modules. On platforms without threads, this function does nothing.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_acquire_lock__doc__,
-"acquire_lock($module, /)\n"
-"--\n"
-"\n"
-"Acquires the interpreter\'s import lock for the current thread.\n"
-"\n"
-"This lock should be used by import hooks to ensure thread-safety when importing\n"
-"modules. On platforms without threads, this function does nothing.");
-
-#define _IMP_ACQUIRE_LOCK_METHODDEF \
- {"acquire_lock", (PyCFunction)_imp_acquire_lock, METH_NOARGS, _imp_acquire_lock__doc__},
-
-static PyObject *
-_imp_acquire_lock_impl(PyModuleDef *module);
-
-static PyObject *
-_imp_acquire_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
-{
- return _imp_acquire_lock_impl(module);
-}
-
static PyObject *
_imp_acquire_lock_impl(PyModuleDef *module)
-/*[clinic end generated code: output=478f1fa089fdb9a4 input=4a2d4381866d5fdc]*/
+/*[clinic end generated code: output=cc143b1d16422cae input=4a2d4381866d5fdc]*/
{
#ifdef WITH_THREAD
_PyImport_AcquireLock();
@@ -315,29 +277,9 @@ Release the interpreter's import lock.
On platforms without threads, this function does nothing.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_release_lock__doc__,
-"release_lock($module, /)\n"
-"--\n"
-"\n"
-"Release the interpreter\'s import lock.\n"
-"\n"
-"On platforms without threads, this function does nothing.");
-
-#define _IMP_RELEASE_LOCK_METHODDEF \
- {"release_lock", (PyCFunction)_imp_release_lock, METH_NOARGS, _imp_release_lock__doc__},
-
-static PyObject *
-_imp_release_lock_impl(PyModuleDef *module);
-
-static PyObject *
-_imp_release_lock(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
-{
- return _imp_release_lock_impl(module);
-}
-
static PyObject *
_imp_release_lock_impl(PyModuleDef *module)
-/*[clinic end generated code: output=36c77a6832fdafd4 input=934fb11516dd778b]*/
+/*[clinic end generated code: output=74d28e38ebe2b224 input=934fb11516dd778b]*/
{
#ifdef WITH_THREAD
if (_PyImport_ReleaseLock() < 0) {
@@ -962,43 +904,9 @@ _imp._fix_co_filename
Changes code.co_filename to specify the passed-in file path.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp__fix_co_filename__doc__,
-"_fix_co_filename($module, code, path, /)\n"
-"--\n"
-"\n"
-"Changes code.co_filename to specify the passed-in file path.\n"
-"\n"
-" code\n"
-" Code object to change.\n"
-" path\n"
-" File path to use.");
-
-#define _IMP__FIX_CO_FILENAME_METHODDEF \
- {"_fix_co_filename", (PyCFunction)_imp__fix_co_filename, METH_VARARGS, _imp__fix_co_filename__doc__},
-
-static PyObject *
-_imp__fix_co_filename_impl(PyModuleDef *module, PyCodeObject *code, PyObject *path);
-
-static PyObject *
-_imp__fix_co_filename(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyCodeObject *code;
- PyObject *path;
-
- if (!PyArg_ParseTuple(args,
- "O!U:_fix_co_filename",
- &PyCode_Type, &code, &path))
- goto exit;
- return_value = _imp__fix_co_filename_impl(module, code, path);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp__fix_co_filename_impl(PyModuleDef *module, PyCodeObject *code, PyObject *path)
-/*[clinic end generated code: output=6b4b1edeb0d55c5d input=895ba50e78b82f05]*/
+/*[clinic end generated code: output=7afe5ba6b9d383e4 input=895ba50e78b82f05]*/
{
update_compiled_module(code, path);
@@ -1860,27 +1768,9 @@ _imp.extension_suffixes
Returns the list of file suffixes used to identify extension modules.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_extension_suffixes__doc__,
-"extension_suffixes($module, /)\n"
-"--\n"
-"\n"
-"Returns the list of file suffixes used to identify extension modules.");
-
-#define _IMP_EXTENSION_SUFFIXES_METHODDEF \
- {"extension_suffixes", (PyCFunction)_imp_extension_suffixes, METH_NOARGS, _imp_extension_suffixes__doc__},
-
-static PyObject *
-_imp_extension_suffixes_impl(PyModuleDef *module);
-
-static PyObject *
-_imp_extension_suffixes(PyModuleDef *module, PyObject *Py_UNUSED(ignored))
-{
- return _imp_extension_suffixes_impl(module);
-}
-
static PyObject *
_imp_extension_suffixes_impl(PyModuleDef *module)
-/*[clinic end generated code: output=bb30a2438167798c input=ecdeeecfcb6f839e]*/
+/*[clinic end generated code: output=d44c1566ef362229 input=ecdeeecfcb6f839e]*/
{
PyObject *list;
const char *suffix;
@@ -1917,37 +1807,9 @@ _imp.init_builtin
Initializes a built-in module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_init_builtin__doc__,
-"init_builtin($module, name, /)\n"
-"--\n"
-"\n"
-"Initializes a built-in module.");
-
-#define _IMP_INIT_BUILTIN_METHODDEF \
- {"init_builtin", (PyCFunction)_imp_init_builtin, METH_VARARGS, _imp_init_builtin__doc__},
-
-static PyObject *
-_imp_init_builtin_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_init_builtin(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:init_builtin",
- &name))
- goto exit;
- return_value = _imp_init_builtin_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_init_builtin_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=a0244948a43f8e26 input=f934d2231ec52a2e]*/
+/*[clinic end generated code: output=1868f473685f6d67 input=f934d2231ec52a2e]*/
{
int ret;
PyObject *m;
@@ -1973,37 +1835,9 @@ _imp.init_frozen
Initializes a frozen module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_init_frozen__doc__,
-"init_frozen($module, name, /)\n"
-"--\n"
-"\n"
-"Initializes a frozen module.");
-
-#define _IMP_INIT_FROZEN_METHODDEF \
- {"init_frozen", (PyCFunction)_imp_init_frozen, METH_VARARGS, _imp_init_frozen__doc__},
-
-static PyObject *
-_imp_init_frozen_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_init_frozen(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:init_frozen",
- &name))
- goto exit;
- return_value = _imp_init_frozen_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_init_frozen_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=e4bc2bff296f8f22 input=13019adfc04f3fb3]*/
+/*[clinic end generated code: output=a9de493bdd711878 input=13019adfc04f3fb3]*/
{
int ret;
PyObject *m;
@@ -2029,37 +1863,9 @@ _imp.get_frozen_object
Create a code object for a frozen module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_get_frozen_object__doc__,
-"get_frozen_object($module, name, /)\n"
-"--\n"
-"\n"
-"Create a code object for a frozen module.");
-
-#define _IMP_GET_FROZEN_OBJECT_METHODDEF \
- {"get_frozen_object", (PyCFunction)_imp_get_frozen_object, METH_VARARGS, _imp_get_frozen_object__doc__},
-
-static PyObject *
-_imp_get_frozen_object_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_get_frozen_object(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:get_frozen_object",
- &name))
- goto exit;
- return_value = _imp_get_frozen_object_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_get_frozen_object_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=4089ec702a9d70c5 input=ed689bc05358fdbd]*/
+/*[clinic end generated code: output=3114c970a47f2e3c input=ed689bc05358fdbd]*/
{
return get_frozen_object(name);
}
@@ -2073,37 +1879,9 @@ _imp.is_frozen_package
Returns True if the module name is of a frozen package.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_is_frozen_package__doc__,
-"is_frozen_package($module, name, /)\n"
-"--\n"
-"\n"
-"Returns True if the module name is of a frozen package.");
-
-#define _IMP_IS_FROZEN_PACKAGE_METHODDEF \
- {"is_frozen_package", (PyCFunction)_imp_is_frozen_package, METH_VARARGS, _imp_is_frozen_package__doc__},
-
-static PyObject *
-_imp_is_frozen_package_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_is_frozen_package(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:is_frozen_package",
- &name))
- goto exit;
- return_value = _imp_is_frozen_package_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_is_frozen_package_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=86aab14dcd4b959b input=81b6cdecd080fbb8]*/
+/*[clinic end generated code: output=3e4cab802b56d649 input=81b6cdecd080fbb8]*/
{
return is_frozen_package(name);
}
@@ -2117,37 +1895,9 @@ _imp.is_builtin
Returns True if the module name corresponds to a built-in module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_is_builtin__doc__,
-"is_builtin($module, name, /)\n"
-"--\n"
-"\n"
-"Returns True if the module name corresponds to a built-in module.");
-
-#define _IMP_IS_BUILTIN_METHODDEF \
- {"is_builtin", (PyCFunction)_imp_is_builtin, METH_VARARGS, _imp_is_builtin__doc__},
-
-static PyObject *
-_imp_is_builtin_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_is_builtin(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:is_builtin",
- &name))
- goto exit;
- return_value = _imp_is_builtin_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_is_builtin_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=d5847f8cac50946e input=86befdac021dd1c7]*/
+/*[clinic end generated code: output=2deec9cac6fb9a7e input=86befdac021dd1c7]*/
{
return PyLong_FromLong(is_builtin(name));
}
@@ -2161,37 +1911,9 @@ _imp.is_frozen
Returns True if the module name corresponds to a frozen module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_is_frozen__doc__,
-"is_frozen($module, name, /)\n"
-"--\n"
-"\n"
-"Returns True if the module name corresponds to a frozen module.");
-
-#define _IMP_IS_FROZEN_METHODDEF \
- {"is_frozen", (PyCFunction)_imp_is_frozen, METH_VARARGS, _imp_is_frozen__doc__},
-
-static PyObject *
-_imp_is_frozen_impl(PyModuleDef *module, PyObject *name);
-
-static PyObject *
-_imp_is_frozen(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
-
- if (!PyArg_ParseTuple(args,
- "U:is_frozen",
- &name))
- goto exit;
- return_value = _imp_is_frozen_impl(module, name);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_is_frozen_impl(PyModuleDef *module, PyObject *name)
-/*[clinic end generated code: output=6691af884ba4987d input=7301dbca1897d66b]*/
+/*[clinic end generated code: output=7de8e260c8e36aed input=7301dbca1897d66b]*/
{
const struct _frozen *p;
@@ -2212,39 +1934,9 @@ _imp.load_dynamic
Loads an extension module.
[clinic start generated code]*/
-PyDoc_STRVAR(_imp_load_dynamic__doc__,
-"load_dynamic($module, name, path, file=None, /)\n"
-"--\n"
-"\n"
-"Loads an extension module.");
-
-#define _IMP_LOAD_DYNAMIC_METHODDEF \
- {"load_dynamic", (PyCFunction)_imp_load_dynamic, METH_VARARGS, _imp_load_dynamic__doc__},
-
-static PyObject *
-_imp_load_dynamic_impl(PyModuleDef *module, PyObject *name, PyObject *path, PyObject *file);
-
-static PyObject *
-_imp_load_dynamic(PyModuleDef *module, PyObject *args)
-{
- PyObject *return_value = NULL;
- PyObject *name;
- PyObject *path;
- PyObject *file = NULL;
-
- if (!PyArg_ParseTuple(args,
- "UO&|O:load_dynamic",
- &name, PyUnicode_FSDecoder, &path, &file))
- goto exit;
- return_value = _imp_load_dynamic_impl(module, name, path, file);
-
-exit:
- return return_value;
-}
-
static PyObject *
_imp_load_dynamic_impl(PyModuleDef *module, PyObject *name, PyObject *path, PyObject *file)
-/*[clinic end generated code: output=81d11a1fbd1ea0a8 input=af64f06e4bad3526]*/
+/*[clinic end generated code: output=8b7ae431d795e1ba input=af64f06e4bad3526]*/
{
PyObject *mod;
FILE *fp;
@@ -2272,11 +1964,7 @@ _imp_load_dynamic_impl(PyModuleDef *module, PyObject *name, PyObject *path, PyOb
/*[clinic input]
dump buffer
[clinic start generated code]*/
-
-#ifndef _IMP_LOAD_DYNAMIC_METHODDEF
- #define _IMP_LOAD_DYNAMIC_METHODDEF
-#endif /* !defined(_IMP_LOAD_DYNAMIC_METHODDEF) */
-/*[clinic end generated code: output=d07c1d4a343a9579 input=524ce2e021e4eba6]*/
+/*[clinic end generated code: output=da39a3ee5e6b4b0d input=524ce2e021e4eba6]*/
PyDoc_STRVAR(doc_imp,
@@ -2376,7 +2064,7 @@ PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void))
memset(newtab, '\0', sizeof newtab);
- newtab[0].name = (char *)name;
+ newtab[0].name = name;
newtab[0].initfunc = initfunc;
return PyImport_ExtendInittab(newtab);
@@ -2385,4 +2073,3 @@ PyImport_AppendInittab(const char *name, PyObject* (*initfunc)(void))
#ifdef __cplusplus
}
#endif
-
diff --git a/Python/importlib.h b/Python/importlib.h
index ef8bf27..0154a78 100644
--- a/Python/importlib.h
+++ b/Python/importlib.h
@@ -1,8 +1,8 @@
-/* Auto-generated by Modules/_freeze_importlib.c */
+/* Auto-generated by Programs/_freeze_importlib.c */
const unsigned char _Py_M__importlib[] = {
99,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,
- 0,64,0,0,0,115,228,4,0,0,100,0,0,90,0,0,
- 100,163,0,90,1,0,100,4,0,100,5,0,132,0,0,90,
+ 0,64,0,0,0,115,43,5,0,0,100,0,0,90,0,0,
+ 100,177,0,90,1,0,100,4,0,100,5,0,132,0,0,90,
2,0,100,6,0,100,7,0,132,0,0,90,3,0,100,8,
0,100,9,0,132,0,0,90,4,0,100,10,0,100,11,0,
132,0,0,90,5,0,100,12,0,100,13,0,132,0,0,90,
@@ -46,1223 +46,1221 @@ const unsigned char _Py_M__importlib[] = {
132,0,2,90,54,0,101,55,0,131,0,0,90,56,0,100,
53,0,100,95,0,100,53,0,100,96,0,101,56,0,100,97,
0,100,98,0,132,1,2,90,57,0,100,53,0,100,53,0,
- 100,99,0,100,100,0,132,2,0,90,58,0,71,100,101,0,
- 100,102,0,132,0,0,100,102,0,131,2,0,90,59,0,100,
- 53,0,100,103,0,100,104,0,132,1,0,90,60,0,71,100,
- 105,0,100,106,0,132,0,0,100,106,0,131,2,0,90,61,
- 0,71,100,107,0,100,108,0,132,0,0,100,108,0,131,2,
- 0,90,62,0,71,100,109,0,100,110,0,132,0,0,100,110,
- 0,131,2,0,90,63,0,71,100,111,0,100,112,0,132,0,
- 0,100,112,0,131,2,0,90,64,0,71,100,113,0,100,114,
- 0,132,0,0,100,114,0,101,64,0,131,3,0,90,65,0,
- 71,100,115,0,100,116,0,132,0,0,100,116,0,131,2,0,
- 90,66,0,71,100,117,0,100,118,0,132,0,0,100,118,0,
- 101,66,0,101,65,0,131,4,0,90,67,0,71,100,119,0,
- 100,120,0,132,0,0,100,120,0,101,66,0,101,64,0,131,
- 4,0,90,68,0,103,0,0,90,69,0,71,100,121,0,100,
- 122,0,132,0,0,100,122,0,131,2,0,90,70,0,71,100,
- 123,0,100,124,0,132,0,0,100,124,0,131,2,0,90,71,
- 0,71,100,125,0,100,126,0,132,0,0,100,126,0,131,2,
- 0,90,72,0,71,100,127,0,100,128,0,132,0,0,100,128,
- 0,131,2,0,90,73,0,71,100,129,0,100,130,0,132,0,
- 0,100,130,0,131,2,0,90,74,0,71,100,131,0,100,132,
- 0,132,0,0,100,132,0,131,2,0,90,75,0,100,133,0,
- 100,134,0,132,0,0,90,76,0,100,135,0,100,136,0,132,
- 0,0,90,77,0,100,53,0,100,137,0,100,138,0,132,1,
- 0,90,78,0,100,139,0,100,140,0,132,0,0,90,79,0,
- 100,141,0,90,80,0,101,80,0,100,142,0,23,90,81,0,
- 100,143,0,100,144,0,132,0,0,90,82,0,100,145,0,100,
- 146,0,132,0,0,90,83,0,100,53,0,100,80,0,100,147,
- 0,100,148,0,132,2,0,90,84,0,100,149,0,100,150,0,
- 132,0,0,90,85,0,100,151,0,100,152,0,132,0,0,90,
- 86,0,100,153,0,100,154,0,132,0,0,90,87,0,100,53,
- 0,100,53,0,102,0,0,100,80,0,100,155,0,100,156,0,
- 132,4,0,90,88,0,100,157,0,100,158,0,132,0,0,90,
- 89,0,100,159,0,100,160,0,132,0,0,90,90,0,100,161,
- 0,100,162,0,132,0,0,90,91,0,100,53,0,83,41,164,
- 97,83,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,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,2,0,0,0,67,0,
- 0,0,115,49,0,0,0,116,0,0,106,1,0,106,2,0,
- 116,3,0,131,1,0,114,33,0,100,1,0,100,2,0,132,
- 0,0,125,0,0,110,12,0,100,3,0,100,2,0,132,0,
- 0,125,0,0,124,0,0,83,41,4,78,99,0,0,0,0,
- 0,0,0,0,0,0,0,0,2,0,0,0,83,0,0,0,
- 115,13,0,0,0,100,1,0,116,0,0,106,1,0,107,6,
- 0,83,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,115,12,0,0,0,
- 80,89,84,72,79,78,67,65,83,69,79,75,41,2,218,3,
- 95,111,115,90,7,101,110,118,105,114,111,110,169,0,114,4,
- 0,0,0,114,4,0,0,0,250,29,60,102,114,111,122,101,
- 110,32,105,109,112,111,114,116,108,105,98,46,95,98,111,111,
- 116,115,116,114,97,112,62,218,11,95,114,101,108,97,120,95,
- 99,97,115,101,30,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,0,83,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,5,0,0,0,114,6,0,0,0,34,0,0,0,
- 115,2,0,0,0,0,2,41,4,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,41,1,114,6,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,218,16,95,109,97,107,101,95,114,
- 101,108,97,120,95,99,97,115,101,28,0,0,0,115,8,0,
- 0,0,0,1,18,1,15,4,12,3,114,11,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,26,0,0,0,116,0,0,124,0,0,131,
- 1,0,100,1,0,64,106,1,0,100,2,0,100,3,0,131,
- 2,0,83,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,5,0,0,0,218,7,
- 95,119,95,108,111,110,103,40,0,0,0,115,2,0,0,0,
- 0,2,114,17,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,16,0,0,
- 0,116,0,0,106,1,0,124,0,0,100,1,0,131,2,0,
- 83,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,13,0,0,0,41,2,114,14,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,5,0,0,0,218,7,95,114,95,108,111,110,
- 103,45,0,0,0,115,2,0,0,0,0,2,114,19,0,0,
- 0,99,0,0,0,0,0,0,0,0,1,0,0,0,3,0,
- 0,0,71,0,0,0,115,26,0,0,0,116,0,0,106,1,
- 0,100,1,0,100,2,0,132,0,0,124,0,0,68,131,1,
- 0,131,1,0,83,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,4,0,0,0,83,0,0,0,115,37,0,
- 0,0,103,0,0,124,0,0,93,27,0,125,1,0,124,1,
- 0,114,6,0,124,1,0,106,0,0,116,1,0,131,1,0,
- 145,2,0,113,6,0,83,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,5,0,
- 0,0,250,10,60,108,105,115,116,99,111,109,112,62,52,0,
- 0,0,115,2,0,0,0,9,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,5,0,0,0,218,10,95,112,97,116,104,95,
- 106,111,105,110,50,0,0,0,115,4,0,0,0,0,2,15,
- 1,114,28,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,134,0,0,0,
- 116,0,0,116,1,0,131,1,0,100,1,0,107,2,0,114,
- 52,0,124,0,0,106,2,0,116,3,0,131,1,0,92,3,
- 0,125,1,0,125,2,0,125,3,0,124,1,0,124,3,0,
- 102,2,0,83,120,69,0,116,4,0,124,0,0,131,1,0,
- 68,93,55,0,125,4,0,124,4,0,116,1,0,107,6,0,
- 114,65,0,124,0,0,106,5,0,124,4,0,100,2,0,100,
- 1,0,131,1,1,92,2,0,125,1,0,125,3,0,124,1,
- 0,124,3,0,102,2,0,83,113,65,0,87,100,3,0,124,
- 0,0,102,2,0,83,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,90,
- 8,109,97,120,115,112,108,105,116,218,0,41,6,218,3,108,
- 101,110,114,21,0,0,0,218,10,114,112,97,114,116,105,116,
- 105,111,110,114,25,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,16,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,218,11,95,112,97,116,104,95,115,112,
- 108,105,116,56,0,0,0,115,16,0,0,0,0,2,18,1,
- 24,1,10,1,19,1,12,1,27,1,14,1,114,38,0,0,
- 0,99,1,0,0,0,0,0,0,0,1,0,0,0,2,0,
- 0,0,67,0,0,0,115,13,0,0,0,116,0,0,106,1,
- 0,124,0,0,131,1,0,83,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,35,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,218,10,95,
- 112,97,116,104,95,115,116,97,116,68,0,0,0,115,2,0,
- 0,0,0,7,114,39,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,58,
- 0,0,0,121,16,0,116,0,0,124,0,0,131,1,0,125,
- 2,0,87,110,22,0,4,116,1,0,107,10,0,114,40,0,
- 1,1,1,100,1,0,83,89,110,1,0,88,124,2,0,106,
- 2,0,100,2,0,64,124,1,0,107,2,0,83,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,39,0,0,0,218,
- 7,79,83,69,114,114,111,114,218,7,115,116,95,109,111,100,
- 101,41,3,114,35,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,5,0,0,0,218,18,95,112,97,116,104,95,
- 105,115,95,109,111,100,101,95,116,121,112,101,78,0,0,0,
- 115,10,0,0,0,0,2,3,1,16,1,13,1,9,1,114,
- 43,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,13,0,0,0,116,0,
- 0,124,0,0,100,1,0,131,2,0,83,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,43,0,0,0,41,1,114,35,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 218,12,95,112,97,116,104,95,105,115,102,105,108,101,87,0,
- 0,0,115,2,0,0,0,0,2,114,44,0,0,0,99,1,
+ 100,99,0,100,100,0,132,2,0,90,58,0,100,101,0,100,
+ 102,0,100,103,0,100,104,0,132,0,1,90,59,0,100,105,
+ 0,100,106,0,132,0,0,90,60,0,100,107,0,100,108,0,
+ 132,0,0,90,61,0,100,109,0,100,110,0,132,0,0,90,
+ 62,0,100,111,0,100,112,0,132,0,0,90,63,0,100,113,
+ 0,100,114,0,132,0,0,90,64,0,100,115,0,100,116,0,
+ 132,0,0,90,65,0,100,53,0,100,117,0,100,118,0,132,
+ 1,0,90,66,0,71,100,119,0,100,120,0,132,0,0,100,
+ 120,0,131,2,0,90,67,0,71,100,121,0,100,122,0,132,
+ 0,0,100,122,0,131,2,0,90,68,0,71,100,123,0,100,
+ 124,0,132,0,0,100,124,0,131,2,0,90,69,0,71,100,
+ 125,0,100,126,0,132,0,0,100,126,0,131,2,0,90,70,
+ 0,71,100,127,0,100,128,0,132,0,0,100,128,0,101,70,
+ 0,131,3,0,90,71,0,71,100,129,0,100,130,0,132,0,
+ 0,100,130,0,131,2,0,90,72,0,71,100,131,0,100,132,
+ 0,132,0,0,100,132,0,101,72,0,101,71,0,131,4,0,
+ 90,73,0,71,100,133,0,100,134,0,132,0,0,100,134,0,
+ 101,72,0,101,70,0,131,4,0,90,74,0,103,0,0,90,
+ 75,0,71,100,135,0,100,136,0,132,0,0,100,136,0,131,
+ 2,0,90,76,0,71,100,137,0,100,138,0,132,0,0,100,
+ 138,0,131,2,0,90,77,0,71,100,139,0,100,140,0,132,
+ 0,0,100,140,0,131,2,0,90,78,0,71,100,141,0,100,
+ 142,0,132,0,0,100,142,0,131,2,0,90,79,0,71,100,
+ 143,0,100,144,0,132,0,0,100,144,0,131,2,0,90,80,
+ 0,71,100,145,0,100,146,0,132,0,0,100,146,0,131,2,
+ 0,90,81,0,100,147,0,100,148,0,132,0,0,90,82,0,
+ 100,149,0,100,150,0,132,0,0,90,83,0,100,53,0,100,
+ 151,0,100,152,0,132,1,0,90,84,0,100,153,0,100,154,
+ 0,132,0,0,90,85,0,100,155,0,90,86,0,101,86,0,
+ 100,156,0,23,90,87,0,100,157,0,100,158,0,132,0,0,
+ 90,88,0,100,159,0,100,160,0,132,0,0,90,89,0,100,
+ 53,0,100,80,0,100,161,0,100,162,0,132,2,0,90,90,
+ 0,100,163,0,100,164,0,132,0,0,90,91,0,100,165,0,
+ 100,166,0,132,0,0,90,92,0,100,167,0,100,168,0,132,
+ 0,0,90,93,0,100,53,0,100,53,0,102,0,0,100,80,
+ 0,100,169,0,100,170,0,132,4,0,90,94,0,100,171,0,
+ 100,172,0,132,0,0,90,95,0,100,173,0,100,174,0,132,
+ 0,0,90,96,0,100,175,0,100,176,0,132,0,0,90,97,
+ 0,100,53,0,83,41,178,97,83,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,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,2,0,0,0,67,0,0,0,115,49,0,0,0,116,0,
+ 0,106,1,0,106,2,0,116,3,0,131,1,0,114,33,0,
+ 100,1,0,100,2,0,132,0,0,125,0,0,110,12,0,100,
+ 3,0,100,2,0,132,0,0,125,0,0,124,0,0,83,41,
+ 4,78,99,0,0,0,0,0,0,0,0,0,0,0,0,2,
+ 0,0,0,83,0,0,0,115,13,0,0,0,100,1,0,116,
+ 0,0,106,1,0,107,6,0,83,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,115,12,0,0,0,80,89,84,72,79,78,67,65,83,
+ 69,79,75,41,2,218,3,95,111,115,90,7,101,110,118,105,
+ 114,111,110,169,0,114,4,0,0,0,114,4,0,0,0,250,
+ 29,60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,
+ 105,98,46,95,98,111,111,116,115,116,114,97,112,62,218,11,
+ 95,114,101,108,97,120,95,99,97,115,101,30,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,0,83,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,5,0,0,0,114,6,
+ 0,0,0,34,0,0,0,115,2,0,0,0,0,2,41,4,
+ 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,41,1,114,6,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,16,
+ 95,109,97,107,101,95,114,101,108,97,120,95,99,97,115,101,
+ 28,0,0,0,115,8,0,0,0,0,1,18,1,15,4,12,
+ 3,114,11,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,26,0,0,0,
+ 116,0,0,124,0,0,131,1,0,100,1,0,64,106,1,0,
+ 100,2,0,100,3,0,131,2,0,83,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,5,0,0,0,218,7,95,119,95,108,111,110,103,40,0,
+ 0,0,115,2,0,0,0,0,2,114,17,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,34,0,0,0,124,0,0,115,21,0,116,0,
- 0,106,1,0,131,0,0,125,0,0,110,0,0,116,2,0,
- 124,0,0,100,1,0,131,2,0,83,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,43,0,0,0,41,1,114,35,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,218,11,95,112,97,
- 116,104,95,105,115,100,105,114,92,0,0,0,115,6,0,0,
- 0,0,2,6,1,15,1,114,46,0,0,0,105,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,192,0,0,0,100,1,0,106,0,
- 0,124,0,0,116,1,0,124,0,0,131,1,0,131,2,0,
- 125,3,0,116,2,0,106,3,0,124,3,0,116,2,0,106,
- 4,0,116,2,0,106,5,0,66,116,2,0,106,6,0,66,
- 124,2,0,100,2,0,64,131,3,0,125,4,0,121,60,0,
- 116,7,0,106,8,0,124,4,0,100,3,0,131,2,0,143,
- 20,0,125,5,0,124,5,0,106,9,0,124,1,0,131,1,
- 0,1,87,100,4,0,81,88,116,2,0,106,10,0,124,3,
- 0,124,0,0,131,2,0,1,87,110,59,0,4,116,11,0,
- 107,10,0,114,187,0,1,1,1,121,17,0,116,2,0,106,
- 12,0,124,3,0,131,1,0,1,87,110,18,0,4,116,11,
- 0,107,10,0,114,179,0,1,1,1,89,110,1,0,88,130,
- 0,0,89,110,1,0,88,100,4,0,83,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,40,0,0,0,90,6,117,110,108,105,110,107,
- 41,6,114,35,0,0,0,218,4,100,97,116,97,114,42,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,5,0,0,0,218,13,95,119,114,105,116,101,95,97,116,
- 111,109,105,99,99,0,0,0,115,26,0,0,0,0,5,24,
- 1,9,1,33,1,3,3,21,1,19,1,20,1,13,1,3,
- 1,17,1,13,1,5,1,114,55,0,0,0,99,2,0,0,
- 0,0,0,0,0,3,0,0,0,7,0,0,0,67,0,0,
- 0,115,95,0,0,0,120,69,0,100,1,0,100,2,0,100,
- 3,0,100,4,0,103,4,0,68,93,49,0,125,2,0,116,
- 0,0,124,1,0,124,2,0,131,2,0,114,19,0,116,1,
- 0,124,0,0,124,2,0,116,2,0,124,1,0,124,2,0,
- 131,2,0,131,3,0,1,113,19,0,113,19,0,87,124,0,
- 0,106,3,0,106,4,0,124,1,0,106,3,0,131,1,0,
- 1,100,5,0,83,41,6,122,47,83,105,109,112,108,101,32,
- 115,117,98,115,116,105,116,117,116,101,32,102,111,114,32,102,
- 117,110,99,116,111,111,108,115,46,117,112,100,97,116,101,95,
- 119,114,97,112,112,101,114,46,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,78,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,52,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,218,5,95,119,114,97,112,121,0,0,0,
- 115,8,0,0,0,0,2,25,1,15,1,32,1,114,65,0,
- 0,0,99,1,0,0,0,0,0,0,0,1,0,0,0,2,
- 0,0,0,67,0,0,0,115,16,0,0,0,116,0,0,116,
- 1,0,131,1,0,124,0,0,131,1,0,83,41,1,78,41,
- 2,218,4,116,121,112,101,114,7,0,0,0,41,1,218,4,
- 110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,11,95,110,101,119,95,109,111,100,117,108,101,
- 129,0,0,0,115,2,0,0,0,0,1,114,68,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,58,0,0,0,101,0,0,90,1,0,
- 100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,100,
- 3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,0,
- 0,90,5,0,100,6,0,100,7,0,132,0,0,90,6,0,
- 100,8,0,83,41,9,218,13,95,77,97,110,97,103,101,82,
- 101,108,111,97,100,122,63,77,97,110,97,103,101,115,32,116,
- 104,101,32,112,111,115,115,105,98,108,101,32,99,108,101,97,
- 110,45,117,112,32,111,102,32,115,121,115,46,109,111,100,117,
- 108,101,115,32,102,111,114,32,108,111,97,100,95,109,111,100,
- 117,108,101,40,41,46,99,2,0,0,0,0,0,0,0,2,
- 0,0,0,2,0,0,0,67,0,0,0,115,13,0,0,0,
- 124,1,0,124,0,0,95,0,0,100,0,0,83,41,1,78,
- 41,1,218,5,95,110,97,109,101,41,2,218,4,115,101,108,
- 102,114,67,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,218,8,95,95,105,110,105,116,95,95,141,
- 0,0,0,115,2,0,0,0,0,1,122,22,95,77,97,110,
- 97,103,101,82,101,108,111,97,100,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,25,0,0,0,124,0,0,106,
- 0,0,116,1,0,106,2,0,107,6,0,124,0,0,95,3,
- 0,100,0,0,83,41,1,78,41,4,114,70,0,0,0,114,
- 7,0,0,0,218,7,109,111,100,117,108,101,115,218,10,95,
- 105,115,95,114,101,108,111,97,100,41,1,114,71,0,0,0,
+ 0,0,0,115,16,0,0,0,116,0,0,106,1,0,124,0,
+ 0,100,1,0,131,2,0,83,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,13,0,0,0,
+ 41,2,114,14,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,5,0,0,0,218,
- 9,95,95,101,110,116,101,114,95,95,144,0,0,0,115,2,
- 0,0,0,0,1,122,23,95,77,97,110,97,103,101,82,101,
- 108,111,97,100,46,95,95,101,110,116,101,114,95,95,99,1,
- 0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,71,
- 0,0,0,115,80,0,0,0,116,0,0,100,1,0,100,2,
- 0,132,0,0,124,1,0,68,131,1,0,131,1,0,114,76,
- 0,124,0,0,106,1,0,12,114,76,0,121,17,0,116,2,
- 0,106,3,0,124,0,0,106,4,0,61,87,113,76,0,4,
- 116,5,0,107,10,0,114,72,0,1,1,1,89,113,76,0,
- 88,110,0,0,100,0,0,83,41,3,78,99,1,0,0,0,
- 0,0,0,0,2,0,0,0,3,0,0,0,115,0,0,0,
- 115,27,0,0,0,124,0,0,93,17,0,125,1,0,124,1,
- 0,100,0,0,107,9,0,86,1,113,3,0,100,0,0,83,
- 41,1,78,114,4,0,0,0,41,2,114,22,0,0,0,218,
- 3,97,114,103,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,250,9,60,103,101,110,101,120,112,114,62,148,0,
- 0,0,115,2,0,0,0,6,0,122,41,95,77,97,110,97,
- 103,101,82,101,108,111,97,100,46,95,95,101,120,105,116,95,
- 95,46,60,108,111,99,97,108,115,62,46,60,103,101,110,101,
- 120,112,114,62,41,6,218,3,97,110,121,114,74,0,0,0,
- 114,7,0,0,0,114,73,0,0,0,114,70,0,0,0,218,
- 8,75,101,121,69,114,114,111,114,41,2,114,71,0,0,0,
- 218,4,97,114,103,115,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,218,8,95,95,101,120,105,116,95,95,147,
- 0,0,0,115,10,0,0,0,0,1,35,1,3,1,17,1,
- 13,1,122,22,95,77,97,110,97,103,101,82,101,108,111,97,
- 100,46,95,95,101,120,105,116,95,95,78,41,7,114,57,0,
- 0,0,114,56,0,0,0,114,58,0,0,0,114,59,0,0,
- 0,114,72,0,0,0,114,75,0,0,0,114,81,0,0,0,
- 114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,69,0,0,0,137,0,0,0,115,8,0,
- 0,0,12,2,6,2,12,3,12,3,114,69,0,0,0,99,
- 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
- 64,0,0,0,115,16,0,0,0,101,0,0,90,1,0,100,
- 0,0,90,2,0,100,1,0,83,41,2,218,14,95,68,101,
- 97,100,108,111,99,107,69,114,114,111,114,78,41,3,114,57,
- 0,0,0,114,56,0,0,0,114,58,0,0,0,114,4,0,
+ 7,95,114,95,108,111,110,103,45,0,0,0,115,2,0,0,
+ 0,0,2,114,19,0,0,0,99,0,0,0,0,0,0,0,
+ 0,1,0,0,0,3,0,0,0,71,0,0,0,115,26,0,
+ 0,0,116,0,0,106,1,0,100,1,0,100,2,0,132,0,
+ 0,124,0,0,68,131,1,0,131,1,0,83,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,4,0,0,0,
+ 83,0,0,0,115,37,0,0,0,103,0,0,124,0,0,93,
+ 27,0,125,1,0,124,1,0,114,6,0,124,1,0,106,0,
+ 0,116,1,0,131,1,0,145,2,0,113,6,0,83,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,5,0,0,0,250,10,60,108,105,115,116,
+ 99,111,109,112,62,52,0,0,0,115,2,0,0,0,9,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,5,0,0,0,218,
+ 10,95,112,97,116,104,95,106,111,105,110,50,0,0,0,115,
+ 4,0,0,0,0,2,15,1,114,28,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,134,0,0,0,116,0,0,116,1,0,131,1,0,
+ 100,1,0,107,2,0,114,52,0,124,0,0,106,2,0,116,
+ 3,0,131,1,0,92,3,0,125,1,0,125,2,0,125,3,
+ 0,124,1,0,124,3,0,102,2,0,83,120,69,0,116,4,
+ 0,124,0,0,131,1,0,68,93,55,0,125,4,0,124,4,
+ 0,116,1,0,107,6,0,114,65,0,124,0,0,106,5,0,
+ 124,4,0,100,2,0,100,1,0,131,1,1,92,2,0,125,
+ 1,0,125,3,0,124,1,0,124,3,0,102,2,0,83,113,
+ 65,0,87,100,3,0,124,0,0,102,2,0,83,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,90,8,109,97,120,115,112,108,105,116,
+ 218,0,41,6,218,3,108,101,110,114,21,0,0,0,218,10,
+ 114,112,97,114,116,105,116,105,111,110,114,25,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,16,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,218,11,95,
+ 112,97,116,104,95,115,112,108,105,116,56,0,0,0,115,16,
+ 0,0,0,0,2,18,1,24,1,10,1,19,1,12,1,27,
+ 1,14,1,114,38,0,0,0,99,1,0,0,0,0,0,0,
+ 0,1,0,0,0,2,0,0,0,67,0,0,0,115,13,0,
+ 0,0,116,0,0,106,1,0,124,0,0,131,1,0,83,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,35,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,218,10,95,112,97,116,104,95,115,116,97,116,
+ 68,0,0,0,115,2,0,0,0,0,7,114,39,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,58,0,0,0,121,16,0,116,0,0,
+ 124,0,0,131,1,0,125,2,0,87,110,22,0,4,116,1,
+ 0,107,10,0,114,40,0,1,1,1,100,1,0,83,89,110,
+ 1,0,88,124,2,0,106,2,0,100,2,0,64,124,1,0,
+ 107,2,0,83,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,39,0,0,0,218,7,79,83,69,114,114,111,114,218,
+ 7,115,116,95,109,111,100,101,41,3,114,35,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,5,0,0,0,218,
+ 18,95,112,97,116,104,95,105,115,95,109,111,100,101,95,116,
+ 121,112,101,78,0,0,0,115,10,0,0,0,0,2,3,1,
+ 16,1,13,1,9,1,114,43,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,13,0,0,0,116,0,0,124,0,0,100,1,0,131,2,
+ 0,83,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,43,0,0,
+ 0,41,1,114,35,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,218,12,95,112,97,116,104,95,105,
+ 115,102,105,108,101,87,0,0,0,115,2,0,0,0,0,2,
+ 114,44,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,31,0,0,0,124,
+ 0,0,115,18,0,116,0,0,106,1,0,131,0,0,125,0,
+ 0,116,2,0,124,0,0,100,1,0,131,2,0,83,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,43,0,0,0,41,1,114,35,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 11,95,112,97,116,104,95,105,115,100,105,114,92,0,0,0,
+ 115,6,0,0,0,0,2,6,1,12,1,114,46,0,0,0,
+ 105,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,192,0,0,0,100,
+ 1,0,106,0,0,124,0,0,116,1,0,124,0,0,131,1,
+ 0,131,2,0,125,3,0,116,2,0,106,3,0,124,3,0,
+ 116,2,0,106,4,0,116,2,0,106,5,0,66,116,2,0,
+ 106,6,0,66,124,2,0,100,2,0,64,131,3,0,125,4,
+ 0,121,60,0,116,7,0,106,8,0,124,4,0,100,3,0,
+ 131,2,0,143,20,0,125,5,0,124,5,0,106,9,0,124,
+ 1,0,131,1,0,1,87,100,4,0,81,88,116,2,0,106,
+ 10,0,124,3,0,124,0,0,131,2,0,1,87,110,59,0,
+ 4,116,11,0,107,10,0,114,187,0,1,1,1,121,17,0,
+ 116,2,0,106,12,0,124,3,0,131,1,0,1,87,110,18,
+ 0,4,116,11,0,107,10,0,114,179,0,1,1,1,89,110,
+ 1,0,88,130,0,0,89,110,1,0,88,100,4,0,83,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,40,0,0,0,90,6,117,110,
+ 108,105,110,107,41,6,114,35,0,0,0,218,4,100,97,116,
+ 97,114,42,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,5,0,0,0,218,13,95,119,114,105,116,
+ 101,95,97,116,111,109,105,99,99,0,0,0,115,26,0,0,
+ 0,0,5,24,1,9,1,33,1,3,3,21,1,19,1,20,
+ 1,13,1,3,1,17,1,13,1,5,1,114,55,0,0,0,
+ 99,2,0,0,0,0,0,0,0,3,0,0,0,7,0,0,
+ 0,67,0,0,0,115,92,0,0,0,120,66,0,100,1,0,
+ 100,2,0,100,3,0,100,4,0,103,4,0,68,93,46,0,
+ 125,2,0,116,0,0,124,1,0,124,2,0,131,2,0,114,
+ 19,0,116,1,0,124,0,0,124,2,0,116,2,0,124,1,
+ 0,124,2,0,131,2,0,131,3,0,1,113,19,0,87,124,
+ 0,0,106,3,0,106,4,0,124,1,0,106,3,0,131,1,
+ 0,1,100,5,0,83,41,6,122,47,83,105,109,112,108,101,
+ 32,115,117,98,115,116,105,116,117,116,101,32,102,111,114,32,
+ 102,117,110,99,116,111,111,108,115,46,117,112,100,97,116,101,
+ 95,119,114,97,112,112,101,114,46,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,78,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,52,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,218,5,95,119,114,97,112,121,0,0,
+ 0,115,8,0,0,0,0,2,25,1,15,1,29,1,114,65,
+ 0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,0,
+ 2,0,0,0,67,0,0,0,115,16,0,0,0,116,0,0,
+ 116,1,0,131,1,0,124,0,0,131,1,0,83,41,1,78,
+ 41,2,218,4,116,121,112,101,114,7,0,0,0,41,1,218,
+ 4,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,218,11,95,110,101,119,95,109,111,100,117,108,
+ 101,129,0,0,0,115,2,0,0,0,0,1,114,68,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,58,0,0,0,101,0,0,90,1,
+ 0,100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,
+ 100,3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,
+ 0,0,90,5,0,100,6,0,100,7,0,132,0,0,90,6,
+ 0,100,8,0,83,41,9,218,13,95,77,97,110,97,103,101,
+ 82,101,108,111,97,100,122,63,77,97,110,97,103,101,115,32,
+ 116,104,101,32,112,111,115,115,105,98,108,101,32,99,108,101,
+ 97,110,45,117,112,32,111,102,32,115,121,115,46,109,111,100,
+ 117,108,101,115,32,102,111,114,32,108,111,97,100,95,109,111,
+ 100,117,108,101,40,41,46,99,2,0,0,0,0,0,0,0,
+ 2,0,0,0,2,0,0,0,67,0,0,0,115,13,0,0,
+ 0,124,1,0,124,0,0,95,0,0,100,0,0,83,41,1,
+ 78,41,1,218,5,95,110,97,109,101,41,2,218,4,115,101,
+ 108,102,114,67,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,218,8,95,95,105,110,105,116,95,95,
+ 141,0,0,0,115,2,0,0,0,0,1,122,22,95,77,97,
+ 110,97,103,101,82,101,108,111,97,100,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,25,0,0,0,124,0,0,
+ 106,0,0,116,1,0,106,2,0,107,6,0,124,0,0,95,
+ 3,0,100,0,0,83,41,1,78,41,4,114,70,0,0,0,
+ 114,7,0,0,0,218,7,109,111,100,117,108,101,115,218,10,
+ 95,105,115,95,114,101,108,111,97,100,41,1,114,71,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,9,95,95,101,110,116,101,114,95,95,144,0,0,0,115,
+ 2,0,0,0,0,1,122,23,95,77,97,110,97,103,101,82,
+ 101,108,111,97,100,46,95,95,101,110,116,101,114,95,95,99,
+ 1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,
+ 71,0,0,0,115,77,0,0,0,116,0,0,100,1,0,100,
+ 2,0,132,0,0,124,1,0,68,131,1,0,131,1,0,114,
+ 73,0,124,0,0,106,1,0,12,114,73,0,121,17,0,116,
+ 2,0,106,3,0,124,0,0,106,4,0,61,87,110,18,0,
+ 4,116,5,0,107,10,0,114,72,0,1,1,1,89,110,1,
+ 0,88,100,0,0,83,41,3,78,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,3,0,0,0,115,0,0,0,115,27,
+ 0,0,0,124,0,0,93,17,0,125,1,0,124,1,0,100,
+ 0,0,107,9,0,86,1,113,3,0,100,0,0,83,41,1,
+ 78,114,4,0,0,0,41,2,114,22,0,0,0,218,3,97,
+ 114,103,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,250,9,60,103,101,110,101,120,112,114,62,148,0,0,0,
+ 115,2,0,0,0,6,0,122,41,95,77,97,110,97,103,101,
+ 82,101,108,111,97,100,46,95,95,101,120,105,116,95,95,46,
+ 60,108,111,99,97,108,115,62,46,60,103,101,110,101,120,112,
+ 114,62,41,6,218,3,97,110,121,114,74,0,0,0,114,7,
+ 0,0,0,114,73,0,0,0,114,70,0,0,0,218,8,75,
+ 101,121,69,114,114,111,114,41,2,114,71,0,0,0,218,4,
+ 97,114,103,115,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,218,8,95,95,101,120,105,116,95,95,147,0,0,
+ 0,115,10,0,0,0,0,1,35,1,3,1,17,1,13,1,
+ 122,22,95,77,97,110,97,103,101,82,101,108,111,97,100,46,
+ 95,95,101,120,105,116,95,95,78,41,7,114,57,0,0,0,
+ 114,56,0,0,0,114,58,0,0,0,114,59,0,0,0,114,
+ 72,0,0,0,114,75,0,0,0,114,81,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,114,69,0,0,0,137,0,0,0,115,8,0,0,0,
+ 12,2,6,2,12,3,12,3,114,69,0,0,0,99,0,0,
+ 0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,
+ 0,0,115,16,0,0,0,101,0,0,90,1,0,100,0,0,
+ 90,2,0,100,1,0,83,41,2,218,14,95,68,101,97,100,
+ 108,111,99,107,69,114,114,111,114,78,41,3,114,57,0,0,
+ 0,114,56,0,0,0,114,58,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
+ 82,0,0,0,162,0,0,0,115,2,0,0,0,12,1,114,
+ 82,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,82,0,0,0,101,0,
+ 0,90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,
+ 100,2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,
+ 5,0,132,0,0,90,5,0,100,6,0,100,7,0,132,0,
+ 0,90,6,0,100,8,0,100,9,0,132,0,0,90,7,0,
+ 100,10,0,100,11,0,132,0,0,90,8,0,100,12,0,83,
+ 41,13,218,11,95,77,111,100,117,108,101,76,111,99,107,122,
+ 169,65,32,114,101,99,117,114,115,105,118,101,32,108,111,99,
+ 107,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,
+ 32,119,104,105,99,104,32,105,115,32,97,98,108,101,32,116,
+ 111,32,100,101,116,101,99,116,32,100,101,97,100,108,111,99,
+ 107,115,10,32,32,32,32,40,101,46,103,46,32,116,104,114,
+ 101,97,100,32,49,32,116,114,121,105,110,103,32,116,111,32,
+ 116,97,107,101,32,108,111,99,107,115,32,65,32,116,104,101,
+ 110,32,66,44,32,97,110,100,32,116,104,114,101,97,100,32,
+ 50,32,116,114,121,105,110,103,32,116,111,10,32,32,32,32,
+ 116,97,107,101,32,108,111,99,107,115,32,66,32,116,104,101,
+ 110,32,65,41,46,10,32,32,32,32,99,2,0,0,0,0,
+ 0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,
+ 70,0,0,0,116,0,0,106,1,0,131,0,0,124,0,0,
+ 95,2,0,116,0,0,106,1,0,131,0,0,124,0,0,95,
+ 3,0,124,1,0,124,0,0,95,4,0,100,0,0,124,0,
+ 0,95,5,0,100,1,0,124,0,0,95,6,0,100,1,0,
+ 124,0,0,95,7,0,100,0,0,83,41,2,78,233,0,0,
+ 0,0,41,8,218,7,95,116,104,114,101,97,100,90,13,97,
+ 108,108,111,99,97,116,101,95,108,111,99,107,218,4,108,111,
+ 99,107,218,6,119,97,107,101,117,112,114,67,0,0,0,218,
+ 5,111,119,110,101,114,218,5,99,111,117,110,116,218,7,119,
+ 97,105,116,101,114,115,41,2,114,71,0,0,0,114,67,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,82,0,0,0,162,0,0,0,115,2,0,0,0,12,
- 1,114,82,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,82,0,0,0,
- 101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,90,
- 3,0,100,2,0,100,3,0,132,0,0,90,4,0,100,4,
- 0,100,5,0,132,0,0,90,5,0,100,6,0,100,7,0,
- 132,0,0,90,6,0,100,8,0,100,9,0,132,0,0,90,
- 7,0,100,10,0,100,11,0,132,0,0,90,8,0,100,12,
- 0,83,41,13,218,11,95,77,111,100,117,108,101,76,111,99,
- 107,122,169,65,32,114,101,99,117,114,115,105,118,101,32,108,
- 111,99,107,32,105,109,112,108,101,109,101,110,116,97,116,105,
- 111,110,32,119,104,105,99,104,32,105,115,32,97,98,108,101,
- 32,116,111,32,100,101,116,101,99,116,32,100,101,97,100,108,
- 111,99,107,115,10,32,32,32,32,40,101,46,103,46,32,116,
- 104,114,101,97,100,32,49,32,116,114,121,105,110,103,32,116,
- 111,32,116,97,107,101,32,108,111,99,107,115,32,65,32,116,
- 104,101,110,32,66,44,32,97,110,100,32,116,104,114,101,97,
- 100,32,50,32,116,114,121,105,110,103,32,116,111,10,32,32,
- 32,32,116,97,107,101,32,108,111,99,107,115,32,66,32,116,
- 104,101,110,32,65,41,46,10,32,32,32,32,99,2,0,0,
- 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
- 0,115,70,0,0,0,116,0,0,106,1,0,131,0,0,124,
- 0,0,95,2,0,116,0,0,106,1,0,131,0,0,124,0,
- 0,95,3,0,124,1,0,124,0,0,95,4,0,100,0,0,
- 124,0,0,95,5,0,100,1,0,124,0,0,95,6,0,100,
- 1,0,124,0,0,95,7,0,100,0,0,83,41,2,78,233,
- 0,0,0,0,41,8,218,7,95,116,104,114,101,97,100,90,
- 13,97,108,108,111,99,97,116,101,95,108,111,99,107,218,4,
- 108,111,99,107,218,6,119,97,107,101,117,112,114,67,0,0,
- 0,218,5,111,119,110,101,114,218,5,99,111,117,110,116,218,
- 7,119,97,105,116,101,114,115,41,2,114,71,0,0,0,114,
- 67,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,72,0,0,0,172,0,0,0,115,12,0,0,
- 0,0,1,15,1,15,1,9,1,9,1,9,1,122,20,95,
- 77,111,100,117,108,101,76,111,99,107,46,95,95,105,110,105,
- 116,95,95,99,1,0,0,0,0,0,0,0,4,0,0,0,
- 2,0,0,0,67,0,0,0,115,88,0,0,0,116,0,0,
- 106,1,0,131,0,0,125,1,0,124,0,0,106,2,0,125,
- 2,0,120,60,0,116,3,0,106,4,0,124,2,0,131,1,
- 0,125,3,0,124,3,0,100,0,0,107,8,0,114,55,0,
- 100,1,0,83,124,3,0,106,2,0,125,2,0,124,2,0,
- 124,1,0,107,2,0,114,24,0,100,2,0,83,113,24,0,
- 87,100,0,0,83,41,3,78,70,84,41,5,114,85,0,0,
- 0,218,9,103,101,116,95,105,100,101,110,116,114,88,0,0,
- 0,218,12,95,98,108,111,99,107,105,110,103,95,111,110,218,
- 3,103,101,116,41,4,114,71,0,0,0,218,2,109,101,218,
- 3,116,105,100,114,86,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,218,12,104,97,115,95,100,101,
- 97,100,108,111,99,107,180,0,0,0,115,18,0,0,0,0,
- 2,12,1,9,1,3,1,15,1,12,1,4,1,9,1,12,
- 1,122,24,95,77,111,100,117,108,101,76,111,99,107,46,104,
- 97,115,95,100,101,97,100,108,111,99,107,99,1,0,0,0,
- 0,0,0,0,2,0,0,0,16,0,0,0,67,0,0,0,
- 115,215,0,0,0,116,0,0,106,1,0,131,0,0,125,1,
- 0,124,0,0,116,2,0,124,1,0,60,122,178,0,120,171,
- 0,124,0,0,106,3,0,143,130,0,1,124,0,0,106,4,
- 0,100,1,0,107,2,0,115,68,0,124,0,0,106,5,0,
- 124,1,0,107,2,0,114,96,0,124,1,0,124,0,0,95,
- 5,0,124,0,0,4,106,4,0,100,2,0,55,2,95,4,
- 0,100,3,0,83,124,0,0,106,6,0,131,0,0,114,127,
- 0,116,7,0,100,4,0,124,0,0,22,131,1,0,130,1,
- 0,110,0,0,124,0,0,106,8,0,106,9,0,100,5,0,
- 131,1,0,114,163,0,124,0,0,4,106,10,0,100,2,0,
- 55,2,95,10,0,110,0,0,87,100,6,0,81,88,124,0,
- 0,106,8,0,106,9,0,131,0,0,1,124,0,0,106,8,
- 0,106,11,0,131,0,0,1,113,28,0,87,87,100,6,0,
- 116,2,0,124,1,0,61,88,100,6,0,83,41,7,122,185,
- 10,32,32,32,32,32,32,32,32,65,99,113,117,105,114,101,
- 32,116,104,101,32,109,111,100,117,108,101,32,108,111,99,107,
- 46,32,32,73,102,32,97,32,112,111,116,101,110,116,105,97,
- 108,32,100,101,97,100,108,111,99,107,32,105,115,32,100,101,
- 116,101,99,116,101,100,44,10,32,32,32,32,32,32,32,32,
- 97,32,95,68,101,97,100,108,111,99,107,69,114,114,111,114,
- 32,105,115,32,114,97,105,115,101,100,46,10,32,32,32,32,
- 32,32,32,32,79,116,104,101,114,119,105,115,101,44,32,116,
- 104,101,32,108,111,99,107,32,105,115,32,97,108,119,97,121,
- 115,32,97,99,113,117,105,114,101,100,32,97,110,100,32,84,
- 114,117,101,32,105,115,32,114,101,116,117,114,110,101,100,46,
- 10,32,32,32,32,32,32,32,32,114,84,0,0,0,114,29,
- 0,0,0,84,122,23,100,101,97,100,108,111,99,107,32,100,
- 101,116,101,99,116,101,100,32,98,121,32,37,114,70,78,41,
- 12,114,85,0,0,0,114,91,0,0,0,114,92,0,0,0,
- 114,86,0,0,0,114,89,0,0,0,114,88,0,0,0,114,
- 96,0,0,0,114,82,0,0,0,114,87,0,0,0,218,7,
- 97,99,113,117,105,114,101,114,90,0,0,0,218,7,114,101,
- 108,101,97,115,101,41,2,114,71,0,0,0,114,95,0,0,
+ 0,114,72,0,0,0,172,0,0,0,115,12,0,0,0,0,
+ 1,15,1,15,1,9,1,9,1,9,1,122,20,95,77,111,
+ 100,117,108,101,76,111,99,107,46,95,95,105,110,105,116,95,
+ 95,99,1,0,0,0,0,0,0,0,4,0,0,0,2,0,
+ 0,0,67,0,0,0,115,88,0,0,0,116,0,0,106,1,
+ 0,131,0,0,125,1,0,124,0,0,106,2,0,125,2,0,
+ 120,60,0,116,3,0,106,4,0,124,2,0,131,1,0,125,
+ 3,0,124,3,0,100,0,0,107,8,0,114,55,0,100,1,
+ 0,83,124,3,0,106,2,0,125,2,0,124,2,0,124,1,
+ 0,107,2,0,114,24,0,100,2,0,83,113,24,0,87,100,
+ 0,0,83,41,3,78,70,84,41,5,114,85,0,0,0,218,
+ 9,103,101,116,95,105,100,101,110,116,114,88,0,0,0,218,
+ 12,95,98,108,111,99,107,105,110,103,95,111,110,218,3,103,
+ 101,116,41,4,114,71,0,0,0,218,2,109,101,218,3,116,
+ 105,100,114,86,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,218,12,104,97,115,95,100,101,97,100,
+ 108,111,99,107,180,0,0,0,115,18,0,0,0,0,2,12,
+ 1,9,1,3,1,15,1,12,1,4,1,9,1,12,1,122,
+ 24,95,77,111,100,117,108,101,76,111,99,107,46,104,97,115,
+ 95,100,101,97,100,108,111,99,107,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,16,0,0,0,67,0,0,0,115,209,
+ 0,0,0,116,0,0,106,1,0,131,0,0,125,1,0,124,
+ 0,0,116,2,0,124,1,0,60,122,172,0,120,165,0,124,
+ 0,0,106,3,0,143,124,0,1,124,0,0,106,4,0,100,
+ 1,0,107,2,0,115,68,0,124,0,0,106,5,0,124,1,
+ 0,107,2,0,114,96,0,124,1,0,124,0,0,95,5,0,
+ 124,0,0,4,106,4,0,100,2,0,55,2,95,4,0,100,
+ 3,0,83,124,0,0,106,6,0,131,0,0,114,124,0,116,
+ 7,0,100,4,0,124,0,0,22,131,1,0,130,1,0,124,
+ 0,0,106,8,0,106,9,0,100,5,0,131,1,0,114,157,
+ 0,124,0,0,4,106,10,0,100,2,0,55,2,95,10,0,
+ 87,100,6,0,81,88,124,0,0,106,8,0,106,9,0,131,
+ 0,0,1,124,0,0,106,8,0,106,11,0,131,0,0,1,
+ 113,28,0,87,87,100,6,0,116,2,0,124,1,0,61,88,
+ 100,6,0,83,41,7,122,185,10,32,32,32,32,32,32,32,
+ 32,65,99,113,117,105,114,101,32,116,104,101,32,109,111,100,
+ 117,108,101,32,108,111,99,107,46,32,32,73,102,32,97,32,
+ 112,111,116,101,110,116,105,97,108,32,100,101,97,100,108,111,
+ 99,107,32,105,115,32,100,101,116,101,99,116,101,100,44,10,
+ 32,32,32,32,32,32,32,32,97,32,95,68,101,97,100,108,
+ 111,99,107,69,114,114,111,114,32,105,115,32,114,97,105,115,
+ 101,100,46,10,32,32,32,32,32,32,32,32,79,116,104,101,
+ 114,119,105,115,101,44,32,116,104,101,32,108,111,99,107,32,
+ 105,115,32,97,108,119,97,121,115,32,97,99,113,117,105,114,
+ 101,100,32,97,110,100,32,84,114,117,101,32,105,115,32,114,
+ 101,116,117,114,110,101,100,46,10,32,32,32,32,32,32,32,
+ 32,114,84,0,0,0,114,29,0,0,0,84,122,23,100,101,
+ 97,100,108,111,99,107,32,100,101,116,101,99,116,101,100,32,
+ 98,121,32,37,114,70,78,41,12,114,85,0,0,0,114,91,
+ 0,0,0,114,92,0,0,0,114,86,0,0,0,114,89,0,
+ 0,0,114,88,0,0,0,114,96,0,0,0,114,82,0,0,
+ 0,114,87,0,0,0,218,7,97,99,113,117,105,114,101,114,
+ 90,0,0,0,218,7,114,101,108,101,97,115,101,41,2,114,
+ 71,0,0,0,114,95,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,97,0,0,0,192,0,0,
+ 0,115,32,0,0,0,0,6,12,1,10,1,3,1,3,1,
+ 10,1,30,1,9,1,15,1,4,1,12,1,16,1,18,1,
+ 21,2,13,1,21,2,122,19,95,77,111,100,117,108,101,76,
+ 111,99,107,46,97,99,113,117,105,114,101,99,1,0,0,0,
+ 0,0,0,0,2,0,0,0,10,0,0,0,67,0,0,0,
+ 115,156,0,0,0,116,0,0,106,1,0,131,0,0,125,1,
+ 0,124,0,0,106,2,0,143,129,0,1,124,0,0,106,3,
+ 0,124,1,0,107,3,0,114,49,0,116,4,0,100,1,0,
+ 131,1,0,130,1,0,124,0,0,106,5,0,100,2,0,107,
+ 4,0,115,70,0,116,6,0,130,1,0,124,0,0,4,106,
+ 5,0,100,3,0,56,2,95,5,0,124,0,0,106,5,0,
+ 100,2,0,107,2,0,114,146,0,100,0,0,124,0,0,95,
+ 3,0,124,0,0,106,7,0,114,146,0,124,0,0,4,106,
+ 7,0,100,3,0,56,2,95,7,0,124,0,0,106,8,0,
+ 106,9,0,131,0,0,1,87,100,0,0,81,88,100,0,0,
+ 83,41,4,78,122,31,99,97,110,110,111,116,32,114,101,108,
+ 101,97,115,101,32,117,110,45,97,99,113,117,105,114,101,100,
+ 32,108,111,99,107,114,84,0,0,0,114,29,0,0,0,41,
+ 10,114,85,0,0,0,114,91,0,0,0,114,86,0,0,0,
+ 114,88,0,0,0,218,12,82,117,110,116,105,109,101,69,114,
+ 114,111,114,114,89,0,0,0,218,14,65,115,115,101,114,116,
+ 105,111,110,69,114,114,111,114,114,90,0,0,0,114,87,0,
+ 0,0,114,98,0,0,0,41,2,114,71,0,0,0,114,95,
+ 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,114,98,0,0,0,217,0,0,0,115,22,0,0,0,
+ 0,1,12,1,10,1,15,1,12,1,21,1,15,1,15,1,
+ 9,1,9,1,15,1,122,19,95,77,111,100,117,108,101,76,
+ 111,99,107,46,114,101,108,101,97,115,101,99,1,0,0,0,
+ 0,0,0,0,1,0,0,0,4,0,0,0,67,0,0,0,
+ 115,25,0,0,0,100,1,0,106,0,0,124,0,0,106,1,
+ 0,116,2,0,124,0,0,131,1,0,131,2,0,83,41,2,
+ 78,122,23,95,77,111,100,117,108,101,76,111,99,107,40,123,
+ 33,114,125,41,32,97,116,32,123,125,41,3,114,47,0,0,
+ 0,114,67,0,0,0,114,48,0,0,0,41,1,114,71,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,218,8,95,95,114,101,112,114,95,95,230,0,0,0,115,
+ 2,0,0,0,0,1,122,20,95,77,111,100,117,108,101,76,
+ 111,99,107,46,95,95,114,101,112,114,95,95,78,41,9,114,
+ 57,0,0,0,114,56,0,0,0,114,58,0,0,0,114,59,
+ 0,0,0,114,72,0,0,0,114,96,0,0,0,114,97,0,
+ 0,0,114,98,0,0,0,114,101,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,97,0,0,0,192,0,0,0,115,32,0,0,0,0,6,
- 12,1,10,1,3,1,3,1,10,1,30,1,9,1,15,1,
- 4,1,12,1,19,1,18,1,24,2,13,1,21,2,122,19,
- 95,77,111,100,117,108,101,76,111,99,107,46,97,99,113,117,
- 105,114,101,99,1,0,0,0,0,0,0,0,2,0,0,0,
- 10,0,0,0,67,0,0,0,115,165,0,0,0,116,0,0,
- 106,1,0,131,0,0,125,1,0,124,0,0,106,2,0,143,
- 138,0,1,124,0,0,106,3,0,124,1,0,107,3,0,114,
- 52,0,116,4,0,100,1,0,131,1,0,130,1,0,110,0,
- 0,124,0,0,106,5,0,100,2,0,107,4,0,115,73,0,
- 116,6,0,130,1,0,124,0,0,4,106,5,0,100,3,0,
- 56,2,95,5,0,124,0,0,106,5,0,100,2,0,107,2,
- 0,114,155,0,100,0,0,124,0,0,95,3,0,124,0,0,
- 106,7,0,114,155,0,124,0,0,4,106,7,0,100,3,0,
- 56,2,95,7,0,124,0,0,106,8,0,106,9,0,131,0,
- 0,1,113,155,0,110,0,0,87,100,0,0,81,88,100,0,
- 0,83,41,4,78,122,31,99,97,110,110,111,116,32,114,101,
- 108,101,97,115,101,32,117,110,45,97,99,113,117,105,114,101,
- 100,32,108,111,99,107,114,84,0,0,0,114,29,0,0,0,
- 41,10,114,85,0,0,0,114,91,0,0,0,114,86,0,0,
- 0,114,88,0,0,0,218,12,82,117,110,116,105,109,101,69,
- 114,114,111,114,114,89,0,0,0,218,14,65,115,115,101,114,
- 116,105,111,110,69,114,114,111,114,114,90,0,0,0,114,87,
- 0,0,0,114,98,0,0,0,41,2,114,71,0,0,0,114,
- 95,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,98,0,0,0,217,0,0,0,115,22,0,0,
- 0,0,1,12,1,10,1,15,1,15,1,21,1,15,1,15,
- 1,9,1,9,1,15,1,122,19,95,77,111,100,117,108,101,
+ 114,83,0,0,0,166,0,0,0,115,12,0,0,0,12,4,
+ 6,2,12,8,12,12,12,25,12,13,114,83,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,70,0,0,0,101,0,0,90,1,0,100,
+ 0,0,90,2,0,100,1,0,90,3,0,100,2,0,100,3,
+ 0,132,0,0,90,4,0,100,4,0,100,5,0,132,0,0,
+ 90,5,0,100,6,0,100,7,0,132,0,0,90,6,0,100,
+ 8,0,100,9,0,132,0,0,90,7,0,100,10,0,83,41,
+ 11,218,16,95,68,117,109,109,121,77,111,100,117,108,101,76,
+ 111,99,107,122,86,65,32,115,105,109,112,108,101,32,95,77,
+ 111,100,117,108,101,76,111,99,107,32,101,113,117,105,118,97,
+ 108,101,110,116,32,102,111,114,32,80,121,116,104,111,110,32,
+ 98,117,105,108,100,115,32,119,105,116,104,111,117,116,10,32,
+ 32,32,32,109,117,108,116,105,45,116,104,114,101,97,100,105,
+ 110,103,32,115,117,112,112,111,114,116,46,99,2,0,0,0,
+ 0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,
+ 115,22,0,0,0,124,1,0,124,0,0,95,0,0,100,1,
+ 0,124,0,0,95,1,0,100,0,0,83,41,2,78,114,84,
+ 0,0,0,41,2,114,67,0,0,0,114,89,0,0,0,41,
+ 2,114,71,0,0,0,114,67,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,72,0,0,0,238,
+ 0,0,0,115,4,0,0,0,0,1,9,1,122,25,95,68,
+ 117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,95,
+ 95,105,110,105,116,95,95,99,1,0,0,0,0,0,0,0,
+ 1,0,0,0,3,0,0,0,67,0,0,0,115,19,0,0,
+ 0,124,0,0,4,106,0,0,100,1,0,55,2,95,0,0,
+ 100,2,0,83,41,3,78,114,29,0,0,0,84,41,1,114,
+ 89,0,0,0,41,1,114,71,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,97,0,0,0,242,
+ 0,0,0,115,4,0,0,0,0,1,15,1,122,24,95,68,
+ 117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,97,
+ 99,113,117,105,114,101,99,1,0,0,0,0,0,0,0,1,
+ 0,0,0,3,0,0,0,67,0,0,0,115,46,0,0,0,
+ 124,0,0,106,0,0,100,1,0,107,2,0,114,27,0,116,
+ 1,0,100,2,0,131,1,0,130,1,0,124,0,0,4,106,
+ 0,0,100,3,0,56,2,95,0,0,100,0,0,83,41,4,
+ 78,114,84,0,0,0,122,31,99,97,110,110,111,116,32,114,
+ 101,108,101,97,115,101,32,117,110,45,97,99,113,117,105,114,
+ 101,100,32,108,111,99,107,114,29,0,0,0,41,2,114,89,
+ 0,0,0,114,99,0,0,0,41,1,114,71,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,98,
+ 0,0,0,246,0,0,0,115,6,0,0,0,0,1,15,1,
+ 12,1,122,24,95,68,117,109,109,121,77,111,100,117,108,101,
76,111,99,107,46,114,101,108,101,97,115,101,99,1,0,0,
0,0,0,0,0,1,0,0,0,4,0,0,0,67,0,0,
0,115,25,0,0,0,100,1,0,106,0,0,124,0,0,106,
1,0,116,2,0,124,0,0,131,1,0,131,2,0,83,41,
- 2,78,122,23,95,77,111,100,117,108,101,76,111,99,107,40,
- 123,33,114,125,41,32,97,116,32,123,125,41,3,114,47,0,
- 0,0,114,67,0,0,0,114,48,0,0,0,41,1,114,71,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,8,95,95,114,101,112,114,95,95,230,0,0,0,
- 115,2,0,0,0,0,1,122,20,95,77,111,100,117,108,101,
- 76,111,99,107,46,95,95,114,101,112,114,95,95,78,41,9,
- 114,57,0,0,0,114,56,0,0,0,114,58,0,0,0,114,
- 59,0,0,0,114,72,0,0,0,114,96,0,0,0,114,97,
+ 2,78,122,28,95,68,117,109,109,121,77,111,100,117,108,101,
+ 76,111,99,107,40,123,33,114,125,41,32,97,116,32,123,125,
+ 41,3,114,47,0,0,0,114,67,0,0,0,114,48,0,0,
+ 0,41,1,114,71,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,101,0,0,0,251,0,0,0,
+ 115,2,0,0,0,0,1,122,25,95,68,117,109,109,121,77,
+ 111,100,117,108,101,76,111,99,107,46,95,95,114,101,112,114,
+ 95,95,78,41,8,114,57,0,0,0,114,56,0,0,0,114,
+ 58,0,0,0,114,59,0,0,0,114,72,0,0,0,114,97,
0,0,0,114,98,0,0,0,114,101,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,83,0,0,0,166,0,0,0,115,12,0,0,0,12,
- 4,6,2,12,8,12,12,12,25,12,13,114,83,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,70,0,0,0,101,0,0,90,1,0,
- 100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,100,
- 3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,0,
- 0,90,5,0,100,6,0,100,7,0,132,0,0,90,6,0,
- 100,8,0,100,9,0,132,0,0,90,7,0,100,10,0,83,
- 41,11,218,16,95,68,117,109,109,121,77,111,100,117,108,101,
- 76,111,99,107,122,86,65,32,115,105,109,112,108,101,32,95,
- 77,111,100,117,108,101,76,111,99,107,32,101,113,117,105,118,
- 97,108,101,110,116,32,102,111,114,32,80,121,116,104,111,110,
- 32,98,117,105,108,100,115,32,119,105,116,104,111,117,116,10,
- 32,32,32,32,109,117,108,116,105,45,116,104,114,101,97,100,
- 105,110,103,32,115,117,112,112,111,114,116,46,99,2,0,0,
- 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
- 0,115,22,0,0,0,124,1,0,124,0,0,95,0,0,100,
- 1,0,124,0,0,95,1,0,100,0,0,83,41,2,78,114,
- 84,0,0,0,41,2,114,67,0,0,0,114,89,0,0,0,
- 41,2,114,71,0,0,0,114,67,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,72,0,0,0,
- 238,0,0,0,115,4,0,0,0,0,1,9,1,122,25,95,
- 68,117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,
- 95,95,105,110,105,116,95,95,99,1,0,0,0,0,0,0,
- 0,1,0,0,0,3,0,0,0,67,0,0,0,115,19,0,
- 0,0,124,0,0,4,106,0,0,100,1,0,55,2,95,0,
- 0,100,2,0,83,41,3,78,114,29,0,0,0,84,41,1,
- 114,89,0,0,0,41,1,114,71,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,97,0,0,0,
- 242,0,0,0,115,4,0,0,0,0,1,15,1,122,24,95,
- 68,117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,
- 97,99,113,117,105,114,101,99,1,0,0,0,0,0,0,0,
- 1,0,0,0,3,0,0,0,67,0,0,0,115,49,0,0,
- 0,124,0,0,106,0,0,100,1,0,107,2,0,114,30,0,
- 116,1,0,100,2,0,131,1,0,130,1,0,110,0,0,124,
- 0,0,4,106,0,0,100,3,0,56,2,95,0,0,100,0,
- 0,83,41,4,78,114,84,0,0,0,122,31,99,97,110,110,
- 111,116,32,114,101,108,101,97,115,101,32,117,110,45,97,99,
- 113,117,105,114,101,100,32,108,111,99,107,114,29,0,0,0,
- 41,2,114,89,0,0,0,114,99,0,0,0,41,1,114,71,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,98,0,0,0,246,0,0,0,115,6,0,0,0,
- 0,1,15,1,15,1,122,24,95,68,117,109,109,121,77,111,
- 100,117,108,101,76,111,99,107,46,114,101,108,101,97,115,101,
- 99,1,0,0,0,0,0,0,0,1,0,0,0,4,0,0,
- 0,67,0,0,0,115,25,0,0,0,100,1,0,106,0,0,
- 124,0,0,106,1,0,116,2,0,124,0,0,131,1,0,131,
- 2,0,83,41,2,78,122,28,95,68,117,109,109,121,77,111,
- 100,117,108,101,76,111,99,107,40,123,33,114,125,41,32,97,
- 116,32,123,125,41,3,114,47,0,0,0,114,67,0,0,0,
- 114,48,0,0,0,41,1,114,71,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,101,0,0,0,
- 251,0,0,0,115,2,0,0,0,0,1,122,25,95,68,117,
- 109,109,121,77,111,100,117,108,101,76,111,99,107,46,95,95,
- 114,101,112,114,95,95,78,41,8,114,57,0,0,0,114,56,
- 0,0,0,114,58,0,0,0,114,59,0,0,0,114,72,0,
- 0,0,114,97,0,0,0,114,98,0,0,0,114,101,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,102,0,0,0,234,0,0,0,115,10,
- 0,0,0,12,2,6,2,12,4,12,4,12,5,114,102,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,52,0,0,0,101,0,0,90,
- 1,0,100,0,0,90,2,0,100,1,0,100,2,0,132,0,
- 0,90,3,0,100,3,0,100,4,0,132,0,0,90,4,0,
- 100,5,0,100,6,0,132,0,0,90,5,0,100,7,0,83,
- 41,8,218,18,95,77,111,100,117,108,101,76,111,99,107,77,
- 97,110,97,103,101,114,99,2,0,0,0,0,0,0,0,2,
- 0,0,0,2,0,0,0,67,0,0,0,115,22,0,0,0,
- 124,1,0,124,0,0,95,0,0,100,0,0,124,0,0,95,
- 1,0,100,0,0,83,41,1,78,41,2,114,70,0,0,0,
- 218,5,95,108,111,99,107,41,2,114,71,0,0,0,114,67,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,72,0,0,0,1,1,0,0,115,4,0,0,0,
- 0,1,9,1,122,27,95,77,111,100,117,108,101,76,111,99,
- 107,77,97,110,97,103,101,114,46,95,95,105,110,105,116,95,
- 95,99,1,0,0,0,0,0,0,0,1,0,0,0,10,0,
- 0,0,67,0,0,0,115,53,0,0,0,122,22,0,116,0,
- 0,124,0,0,106,1,0,131,1,0,124,0,0,95,2,0,
- 87,100,0,0,116,3,0,106,4,0,131,0,0,1,88,124,
- 0,0,106,2,0,106,5,0,131,0,0,1,100,0,0,83,
- 41,1,78,41,6,218,16,95,103,101,116,95,109,111,100,117,
- 108,101,95,108,111,99,107,114,70,0,0,0,114,104,0,0,
- 0,218,4,95,105,109,112,218,12,114,101,108,101,97,115,101,
- 95,108,111,99,107,114,97,0,0,0,41,1,114,71,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,75,0,0,0,5,1,0,0,115,8,0,0,0,0,1,
- 3,1,22,2,11,1,122,28,95,77,111,100,117,108,101,76,
- 111,99,107,77,97,110,97,103,101,114,46,95,95,101,110,116,
- 101,114,95,95,99,1,0,0,0,0,0,0,0,3,0,0,
- 0,1,0,0,0,79,0,0,0,115,17,0,0,0,124,0,
- 0,106,0,0,106,1,0,131,0,0,1,100,0,0,83,41,
- 1,78,41,2,114,104,0,0,0,114,98,0,0,0,41,3,
- 114,71,0,0,0,114,80,0,0,0,218,6,107,119,97,114,
- 103,115,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,81,0,0,0,12,1,0,0,115,2,0,0,0,0,
- 1,122,27,95,77,111,100,117,108,101,76,111,99,107,77,97,
- 110,97,103,101,114,46,95,95,101,120,105,116,95,95,78,41,
- 6,114,57,0,0,0,114,56,0,0,0,114,58,0,0,0,
- 114,72,0,0,0,114,75,0,0,0,114,81,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,103,0,0,0,255,0,0,0,115,6,0,0,
- 0,12,2,12,4,12,7,114,103,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,142,0,0,0,100,1,0,125,1,0,121,17,0,116,
- 0,0,136,0,0,25,131,0,0,125,1,0,87,110,18,0,
- 4,116,1,0,107,10,0,114,43,0,1,1,1,89,110,1,
- 0,88,124,1,0,100,1,0,107,8,0,114,138,0,116,2,
- 0,100,1,0,107,8,0,114,83,0,116,3,0,136,0,0,
- 131,1,0,125,1,0,110,12,0,116,4,0,136,0,0,131,
- 1,0,125,1,0,135,0,0,102,1,0,100,2,0,100,3,
- 0,134,0,0,125,2,0,116,5,0,106,6,0,124,1,0,
- 124,2,0,131,2,0,116,0,0,136,0,0,60,110,0,0,
- 124,1,0,83,41,4,122,109,71,101,116,32,111,114,32,99,
- 114,101,97,116,101,32,116,104,101,32,109,111,100,117,108,101,
- 32,108,111,99,107,32,102,111,114,32,97,32,103,105,118,101,
- 110,32,109,111,100,117,108,101,32,110,97,109,101,46,10,10,
- 32,32,32,32,83,104,111,117,108,100,32,111,110,108,121,32,
- 98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,116,
- 104,101,32,105,109,112,111,114,116,32,108,111,99,107,32,116,
- 97,107,101,110,46,78,99,1,0,0,0,0,0,0,0,1,
- 0,0,0,2,0,0,0,19,0,0,0,115,11,0,0,0,
- 116,0,0,136,0,0,61,100,0,0,83,41,1,78,41,1,
- 218,13,95,109,111,100,117,108,101,95,108,111,99,107,115,41,
- 1,114,36,0,0,0,41,1,114,67,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,218,2,99,98,32,1,0,0,115,
- 2,0,0,0,0,1,122,28,95,103,101,116,95,109,111,100,
- 117,108,101,95,108,111,99,107,46,60,108,111,99,97,108,115,
- 62,46,99,98,41,7,114,109,0,0,0,114,79,0,0,0,
- 114,85,0,0,0,114,102,0,0,0,114,83,0,0,0,218,
- 8,95,119,101,97,107,114,101,102,90,3,114,101,102,41,3,
- 114,67,0,0,0,114,86,0,0,0,114,110,0,0,0,114,
- 4,0,0,0,41,1,114,67,0,0,0,114,5,0,0,0,
- 114,105,0,0,0,18,1,0,0,115,24,0,0,0,0,4,
- 6,1,3,1,17,1,13,1,5,1,12,1,12,1,15,2,
- 12,1,18,2,25,1,114,105,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,71,0,0,0,116,0,0,124,0,0,131,1,0,125,1,
- 0,116,1,0,106,2,0,131,0,0,1,121,14,0,124,1,
- 0,106,3,0,131,0,0,1,87,110,18,0,4,116,4,0,
- 107,10,0,114,56,0,1,1,1,89,110,11,0,88,124,1,
- 0,106,5,0,131,0,0,1,100,1,0,83,41,2,97,21,
- 1,0,0,82,101,108,101,97,115,101,32,116,104,101,32,103,
- 108,111,98,97,108,32,105,109,112,111,114,116,32,108,111,99,
- 107,44,32,97,110,100,32,97,99,113,117,105,114,101,115,32,
- 116,104,101,110,32,114,101,108,101,97,115,101,32,116,104,101,
- 10,32,32,32,32,109,111,100,117,108,101,32,108,111,99,107,
- 32,102,111,114,32,97,32,103,105,118,101,110,32,109,111,100,
- 117,108,101,32,110,97,109,101,46,10,32,32,32,32,84,104,
- 105,115,32,105,115,32,117,115,101,100,32,116,111,32,101,110,
- 115,117,114,101,32,97,32,109,111,100,117,108,101,32,105,115,
- 32,99,111,109,112,108,101,116,101,108,121,32,105,110,105,116,
- 105,97,108,105,122,101,100,44,32,105,110,32,116,104,101,10,
- 32,32,32,32,101,118,101,110,116,32,105,116,32,105,115,32,
- 98,101,105,110,103,32,105,109,112,111,114,116,101,100,32,98,
- 121,32,97,110,111,116,104,101,114,32,116,104,114,101,97,100,
- 46,10,10,32,32,32,32,83,104,111,117,108,100,32,111,110,
- 108,121,32,98,101,32,99,97,108,108,101,100,32,119,105,116,
- 104,32,116,104,101,32,105,109,112,111,114,116,32,108,111,99,
- 107,32,116,97,107,101,110,46,78,41,6,114,105,0,0,0,
- 114,106,0,0,0,114,107,0,0,0,114,97,0,0,0,114,
- 82,0,0,0,114,98,0,0,0,41,2,114,67,0,0,0,
- 114,86,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,218,19,95,108,111,99,107,95,117,110,108,111,
- 99,107,95,109,111,100,117,108,101,37,1,0,0,115,14,0,
- 0,0,0,7,12,1,10,1,3,1,14,1,13,3,5,2,
- 114,112,0,0,0,99,1,0,0,0,0,0,0,0,3,0,
- 0,0,3,0,0,0,79,0,0,0,115,13,0,0,0,124,
- 0,0,124,1,0,124,2,0,142,0,0,83,41,1,97,46,
- 1,0,0,114,101,109,111,118,101,95,105,109,112,111,114,116,
- 108,105,98,95,102,114,97,109,101,115,32,105,110,32,105,109,
- 112,111,114,116,46,99,32,119,105,108,108,32,97,108,119,97,
- 121,115,32,114,101,109,111,118,101,32,115,101,113,117,101,110,
- 99,101,115,10,32,32,32,32,111,102,32,105,109,112,111,114,
- 116,108,105,98,32,102,114,97,109,101,115,32,116,104,97,116,
- 32,101,110,100,32,119,105,116,104,32,97,32,99,97,108,108,
- 32,116,111,32,116,104,105,115,32,102,117,110,99,116,105,111,
- 110,10,10,32,32,32,32,85,115,101,32,105,116,32,105,110,
- 115,116,101,97,100,32,111,102,32,97,32,110,111,114,109,97,
- 108,32,99,97,108,108,32,105,110,32,112,108,97,99,101,115,
- 32,119,104,101,114,101,32,105,110,99,108,117,100,105,110,103,
- 32,116,104,101,32,105,109,112,111,114,116,108,105,98,10,32,
- 32,32,32,102,114,97,109,101,115,32,105,110,116,114,111,100,
- 117,99,101,115,32,117,110,119,97,110,116,101,100,32,110,111,
- 105,115,101,32,105,110,116,111,32,116,104,101,32,116,114,97,
- 99,101,98,97,99,107,32,40,101,46,103,46,32,119,104,101,
- 110,32,101,120,101,99,117,116,105,110,103,10,32,32,32,32,
- 109,111,100,117,108,101,32,99,111,100,101,41,10,32,32,32,
- 32,114,4,0,0,0,41,3,218,1,102,114,80,0,0,0,
- 90,4,107,119,100,115,114,4,0,0,0,114,4,0,0,0,
- 114,5,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,
- 57,1,0,0,115,2,0,0,0,0,8,114,114,0,0,0,
- 105,238,12,0,0,233,2,0,0,0,114,13,0,0,0,115,
- 2,0,0,0,13,10,90,11,95,95,112,121,99,97,99,104,
- 101,95,95,122,3,46,112,121,122,4,46,112,121,99,122,4,
- 46,112,121,111,78,99,2,0,0,0,0,0,0,0,11,0,
- 0,0,6,0,0,0,67,0,0,0,115,192,0,0,0,124,
- 1,0,100,1,0,107,8,0,114,25,0,116,0,0,106,1,
- 0,106,2,0,12,110,3,0,124,1,0,125,2,0,124,2,
- 0,114,46,0,116,3,0,125,3,0,110,6,0,116,4,0,
- 125,3,0,116,5,0,124,0,0,131,1,0,92,2,0,125,
- 4,0,125,5,0,124,5,0,106,6,0,100,2,0,131,1,
- 0,92,3,0,125,6,0,125,7,0,125,8,0,116,0,0,
- 106,7,0,106,8,0,125,9,0,124,9,0,100,1,0,107,
- 8,0,114,133,0,116,9,0,100,3,0,131,1,0,130,1,
- 0,110,0,0,100,4,0,106,10,0,124,6,0,114,151,0,
- 124,6,0,110,3,0,124,8,0,124,7,0,124,9,0,124,
- 3,0,100,5,0,25,103,4,0,131,1,0,125,10,0,116,
- 11,0,124,4,0,116,12,0,124,10,0,131,3,0,83,41,
- 6,97,244,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,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,47,
- 46,112,121,111,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,47,46,112,121,111,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,32,32,84,104,101,32,101,120,
- 116,101,110,115,105,111,110,10,32,32,32,32,119,105,108,108,
- 32,98,101,32,46,112,121,99,32,117,110,108,101,115,115,32,
- 115,121,115,46,102,108,97,103,115,46,111,112,116,105,109,105,
- 122,101,32,105,115,32,110,111,110,45,122,101,114,111,44,32,
- 116,104,101,110,32,105,116,32,119,105,108,108,32,98,101,32,
- 46,112,121,111,46,10,10,32,32,32,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,32,116,104,101,110,32,105,
- 116,32,109,117,115,116,32,98,101,32,97,32,98,111,111,108,
- 101,97,110,32,97,110,100,32,105,115,32,117,115,101,100,32,
- 105,110,10,32,32,32,32,112,108,97,99,101,32,111,102,32,
- 115,121,115,46,102,108,97,103,115,46,111,112,116,105,109,105,
- 122,101,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,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,114,30,0,0,0,114,84,0,0,0,41,13,
- 114,7,0,0,0,218,5,102,108,97,103,115,218,8,111,112,
- 116,105,109,105,122,101,218,23,68,69,66,85,71,95,66,89,
- 84,69,67,79,68,69,95,83,85,70,70,73,88,69,83,218,
- 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,38,0,0,
- 0,114,32,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,26,0,0,0,114,28,0,0,0,
- 218,8,95,80,89,67,65,67,72,69,41,11,114,35,0,0,
- 0,90,14,100,101,98,117,103,95,111,118,101,114,114,105,100,
- 101,218,5,100,101,98,117,103,218,8,115,117,102,102,105,120,
- 101,115,218,4,104,101,97,100,114,37,0,0,0,218,4,98,
- 97,115,101,218,3,115,101,112,218,4,114,101,115,116,90,3,
- 116,97,103,218,8,102,105,108,101,110,97,109,101,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,218,17,99,97,
- 99,104,101,95,102,114,111,109,95,115,111,117,114,99,101,181,
- 1,0,0,115,22,0,0,0,0,13,31,1,6,1,9,2,
- 6,1,18,1,24,1,12,1,12,1,15,1,43,1,114,132,
- 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,193,0,0,0,116,0,0,
- 106,1,0,106,2,0,100,1,0,107,8,0,114,33,0,116,
- 3,0,100,2,0,131,1,0,130,1,0,110,0,0,116,4,
- 0,124,0,0,131,1,0,92,2,0,125,1,0,125,2,0,
- 116,4,0,124,1,0,131,1,0,92,2,0,125,1,0,125,
- 3,0,124,3,0,116,5,0,107,3,0,114,108,0,116,6,
- 0,100,3,0,106,7,0,116,5,0,124,0,0,131,2,0,
- 131,1,0,130,1,0,110,0,0,124,2,0,106,8,0,100,
- 4,0,131,1,0,100,5,0,107,3,0,114,153,0,116,6,
- 0,100,6,0,106,7,0,124,2,0,131,1,0,131,1,0,
- 130,1,0,110,0,0,124,2,0,106,9,0,100,4,0,131,
- 1,0,100,7,0,25,125,4,0,116,10,0,124,1,0,124,
- 4,0,116,11,0,100,7,0,25,23,131,2,0,83,41,8,
- 97,121,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,47,46,
- 112,121,111,32,102,105,108,101,44,32,114,101,116,117,114,110,
+ 0,114,102,0,0,0,234,0,0,0,115,10,0,0,0,12,
+ 2,6,2,12,4,12,4,12,5,114,102,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,52,0,0,0,101,0,0,90,1,0,100,0,
+ 0,90,2,0,100,1,0,100,2,0,132,0,0,90,3,0,
+ 100,3,0,100,4,0,132,0,0,90,4,0,100,5,0,100,
+ 6,0,132,0,0,90,5,0,100,7,0,83,41,8,218,18,
+ 95,77,111,100,117,108,101,76,111,99,107,77,97,110,97,103,
+ 101,114,99,2,0,0,0,0,0,0,0,2,0,0,0,2,
+ 0,0,0,67,0,0,0,115,22,0,0,0,124,1,0,124,
+ 0,0,95,0,0,100,0,0,124,0,0,95,1,0,100,0,
+ 0,83,41,1,78,41,2,114,70,0,0,0,218,5,95,108,
+ 111,99,107,41,2,114,71,0,0,0,114,67,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,72,
+ 0,0,0,1,1,0,0,115,4,0,0,0,0,1,9,1,
+ 122,27,95,77,111,100,117,108,101,76,111,99,107,77,97,110,
+ 97,103,101,114,46,95,95,105,110,105,116,95,95,99,1,0,
+ 0,0,0,0,0,0,1,0,0,0,10,0,0,0,67,0,
+ 0,0,115,53,0,0,0,122,22,0,116,0,0,124,0,0,
+ 106,1,0,131,1,0,124,0,0,95,2,0,87,100,0,0,
+ 116,3,0,106,4,0,131,0,0,1,88,124,0,0,106,2,
+ 0,106,5,0,131,0,0,1,100,0,0,83,41,1,78,41,
+ 6,218,16,95,103,101,116,95,109,111,100,117,108,101,95,108,
+ 111,99,107,114,70,0,0,0,114,104,0,0,0,218,4,95,
+ 105,109,112,218,12,114,101,108,101,97,115,101,95,108,111,99,
+ 107,114,97,0,0,0,41,1,114,71,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,75,0,0,
+ 0,5,1,0,0,115,8,0,0,0,0,1,3,1,22,2,
+ 11,1,122,28,95,77,111,100,117,108,101,76,111,99,107,77,
+ 97,110,97,103,101,114,46,95,95,101,110,116,101,114,95,95,
+ 99,1,0,0,0,0,0,0,0,3,0,0,0,1,0,0,
+ 0,79,0,0,0,115,17,0,0,0,124,0,0,106,0,0,
+ 106,1,0,131,0,0,1,100,0,0,83,41,1,78,41,2,
+ 114,104,0,0,0,114,98,0,0,0,41,3,114,71,0,0,
+ 0,114,80,0,0,0,218,6,107,119,97,114,103,115,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,114,81,0,
+ 0,0,12,1,0,0,115,2,0,0,0,0,1,122,27,95,
+ 77,111,100,117,108,101,76,111,99,107,77,97,110,97,103,101,
+ 114,46,95,95,101,120,105,116,95,95,78,41,6,114,57,0,
+ 0,0,114,56,0,0,0,114,58,0,0,0,114,72,0,0,
+ 0,114,75,0,0,0,114,81,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
+ 103,0,0,0,255,0,0,0,115,6,0,0,0,12,2,12,
+ 4,12,7,114,103,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,139,0,
+ 0,0,100,1,0,125,1,0,121,17,0,116,0,0,136,0,
+ 0,25,131,0,0,125,1,0,87,110,18,0,4,116,1,0,
+ 107,10,0,114,43,0,1,1,1,89,110,1,0,88,124,1,
+ 0,100,1,0,107,8,0,114,135,0,116,2,0,100,1,0,
+ 107,8,0,114,83,0,116,3,0,136,0,0,131,1,0,125,
+ 1,0,110,12,0,116,4,0,136,0,0,131,1,0,125,1,
+ 0,135,0,0,102,1,0,100,2,0,100,3,0,134,0,0,
+ 125,2,0,116,5,0,106,6,0,124,1,0,124,2,0,131,
+ 2,0,116,0,0,136,0,0,60,124,1,0,83,41,4,122,
+ 109,71,101,116,32,111,114,32,99,114,101,97,116,101,32,116,
+ 104,101,32,109,111,100,117,108,101,32,108,111,99,107,32,102,
+ 111,114,32,97,32,103,105,118,101,110,32,109,111,100,117,108,
+ 101,32,110,97,109,101,46,10,10,32,32,32,32,83,104,111,
+ 117,108,100,32,111,110,108,121,32,98,101,32,99,97,108,108,
+ 101,100,32,119,105,116,104,32,116,104,101,32,105,109,112,111,
+ 114,116,32,108,111,99,107,32,116,97,107,101,110,46,78,99,
+ 1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,
+ 19,0,0,0,115,11,0,0,0,116,0,0,136,0,0,61,
+ 100,0,0,83,41,1,78,41,1,218,13,95,109,111,100,117,
+ 108,101,95,108,111,99,107,115,41,1,114,36,0,0,0,41,
+ 1,114,67,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,2,99,98,32,1,0,0,115,2,0,0,0,0,1,122,
+ 28,95,103,101,116,95,109,111,100,117,108,101,95,108,111,99,
+ 107,46,60,108,111,99,97,108,115,62,46,99,98,41,7,114,
+ 109,0,0,0,114,79,0,0,0,114,85,0,0,0,114,102,
+ 0,0,0,114,83,0,0,0,218,8,95,119,101,97,107,114,
+ 101,102,90,3,114,101,102,41,3,114,67,0,0,0,114,86,
+ 0,0,0,114,110,0,0,0,114,4,0,0,0,41,1,114,
+ 67,0,0,0,114,5,0,0,0,114,105,0,0,0,18,1,
+ 0,0,115,24,0,0,0,0,4,6,1,3,1,17,1,13,
+ 1,5,1,12,1,12,1,15,2,12,1,18,2,22,1,114,
+ 105,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,71,0,0,0,116,0,
+ 0,124,0,0,131,1,0,125,1,0,116,1,0,106,2,0,
+ 131,0,0,1,121,14,0,124,1,0,106,3,0,131,0,0,
+ 1,87,110,18,0,4,116,4,0,107,10,0,114,56,0,1,
+ 1,1,89,110,11,0,88,124,1,0,106,5,0,131,0,0,
+ 1,100,1,0,83,41,2,97,21,1,0,0,82,101,108,101,
+ 97,115,101,32,116,104,101,32,103,108,111,98,97,108,32,105,
+ 109,112,111,114,116,32,108,111,99,107,44,32,97,110,100,32,
+ 97,99,113,117,105,114,101,115,32,116,104,101,110,32,114,101,
+ 108,101,97,115,101,32,116,104,101,10,32,32,32,32,109,111,
+ 100,117,108,101,32,108,111,99,107,32,102,111,114,32,97,32,
+ 103,105,118,101,110,32,109,111,100,117,108,101,32,110,97,109,
+ 101,46,10,32,32,32,32,84,104,105,115,32,105,115,32,117,
+ 115,101,100,32,116,111,32,101,110,115,117,114,101,32,97,32,
+ 109,111,100,117,108,101,32,105,115,32,99,111,109,112,108,101,
+ 116,101,108,121,32,105,110,105,116,105,97,108,105,122,101,100,
+ 44,32,105,110,32,116,104,101,10,32,32,32,32,101,118,101,
+ 110,116,32,105,116,32,105,115,32,98,101,105,110,103,32,105,
+ 109,112,111,114,116,101,100,32,98,121,32,97,110,111,116,104,
+ 101,114,32,116,104,114,101,97,100,46,10,10,32,32,32,32,
+ 83,104,111,117,108,100,32,111,110,108,121,32,98,101,32,99,
+ 97,108,108,101,100,32,119,105,116,104,32,116,104,101,32,105,
+ 109,112,111,114,116,32,108,111,99,107,32,116,97,107,101,110,
+ 46,78,41,6,114,105,0,0,0,114,106,0,0,0,114,107,
+ 0,0,0,114,97,0,0,0,114,82,0,0,0,114,98,0,
+ 0,0,41,2,114,67,0,0,0,114,86,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,218,19,95,
+ 108,111,99,107,95,117,110,108,111,99,107,95,109,111,100,117,
+ 108,101,37,1,0,0,115,14,0,0,0,0,7,12,1,10,
+ 1,3,1,14,1,13,3,5,2,114,112,0,0,0,99,1,
+ 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,79,
+ 0,0,0,115,13,0,0,0,124,0,0,124,1,0,124,2,
+ 0,142,0,0,83,41,1,97,46,1,0,0,114,101,109,111,
+ 118,101,95,105,109,112,111,114,116,108,105,98,95,102,114,97,
+ 109,101,115,32,105,110,32,105,109,112,111,114,116,46,99,32,
+ 119,105,108,108,32,97,108,119,97,121,115,32,114,101,109,111,
+ 118,101,32,115,101,113,117,101,110,99,101,115,10,32,32,32,
+ 32,111,102,32,105,109,112,111,114,116,108,105,98,32,102,114,
+ 97,109,101,115,32,116,104,97,116,32,101,110,100,32,119,105,
+ 116,104,32,97,32,99,97,108,108,32,116,111,32,116,104,105,
+ 115,32,102,117,110,99,116,105,111,110,10,10,32,32,32,32,
+ 85,115,101,32,105,116,32,105,110,115,116,101,97,100,32,111,
+ 102,32,97,32,110,111,114,109,97,108,32,99,97,108,108,32,
+ 105,110,32,112,108,97,99,101,115,32,119,104,101,114,101,32,
+ 105,110,99,108,117,100,105,110,103,32,116,104,101,32,105,109,
+ 112,111,114,116,108,105,98,10,32,32,32,32,102,114,97,109,
+ 101,115,32,105,110,116,114,111,100,117,99,101,115,32,117,110,
+ 119,97,110,116,101,100,32,110,111,105,115,101,32,105,110,116,
+ 111,32,116,104,101,32,116,114,97,99,101,98,97,99,107,32,
+ 40,101,46,103,46,32,119,104,101,110,32,101,120,101,99,117,
+ 116,105,110,103,10,32,32,32,32,109,111,100,117,108,101,32,
+ 99,111,100,101,41,10,32,32,32,32,114,4,0,0,0,41,
+ 3,218,1,102,114,80,0,0,0,90,4,107,119,100,115,114,
+ 4,0,0,0,114,4,0,0,0,114,5,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,57,1,0,0,115,2,0,
+ 0,0,0,8,114,114,0,0,0,105,248,12,0,0,233,2,
+ 0,0,0,114,13,0,0,0,115,2,0,0,0,13,10,90,
+ 11,95,95,112,121,99,97,99,104,101,95,95,122,3,46,112,
+ 121,122,4,46,112,121,99,122,4,46,112,121,111,78,99,2,
+ 0,0,0,0,0,0,0,11,0,0,0,6,0,0,0,67,
+ 0,0,0,115,189,0,0,0,124,1,0,100,1,0,107,8,
+ 0,114,25,0,116,0,0,106,1,0,106,2,0,12,110,3,
+ 0,124,1,0,125,2,0,124,2,0,114,46,0,116,3,0,
+ 125,3,0,110,6,0,116,4,0,125,3,0,116,5,0,124,
+ 0,0,131,1,0,92,2,0,125,4,0,125,5,0,124,5,
+ 0,106,6,0,100,2,0,131,1,0,92,3,0,125,6,0,
+ 125,7,0,125,8,0,116,0,0,106,7,0,106,8,0,125,
+ 9,0,124,9,0,100,1,0,107,8,0,114,130,0,116,9,
+ 0,100,3,0,131,1,0,130,1,0,100,4,0,106,10,0,
+ 124,6,0,114,148,0,124,6,0,110,3,0,124,8,0,124,
+ 7,0,124,9,0,124,3,0,100,5,0,25,103,4,0,131,
+ 1,0,125,10,0,116,11,0,124,4,0,116,12,0,124,10,
+ 0,131,3,0,83,41,6,97,244,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,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,47,46,112,121,111,32,102,105,
+ 32,46,112,121,99,47,46,112,121,111,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,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,
- 47,46,112,121,111,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,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,116,0,0,
- 0,114,115,0,0,0,122,28,101,120,112,101,99,116,101,100,
- 32,111,110,108,121,32,50,32,100,111,116,115,32,105,110,32,
- 123,33,114,125,114,84,0,0,0,41,12,114,7,0,0,0,
- 114,121,0,0,0,114,122,0,0,0,114,123,0,0,0,114,
- 38,0,0,0,114,124,0,0,0,218,10,86,97,108,117,101,
- 69,114,114,111,114,114,47,0,0,0,114,89,0,0,0,218,
- 9,112,97,114,116,105,116,105,111,110,114,28,0,0,0,218,
- 15,83,79,85,82,67,69,95,83,85,70,70,73,88,69,83,
- 41,5,114,35,0,0,0,114,127,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,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,5,0,0,0,218,17,115,111,117,114,99,101,95,102,114,
- 111,109,95,99,97,99,104,101,208,1,0,0,115,24,0,0,
- 0,0,9,18,1,15,1,18,1,18,1,12,1,9,1,18,
- 1,21,1,9,1,15,1,19,1,114,136,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,164,0,0,0,116,0,0,124,0,0,131,1,
- 0,100,1,0,107,2,0,114,22,0,100,2,0,83,124,0,
- 0,106,1,0,100,3,0,131,1,0,92,3,0,125,1,0,
- 125,2,0,125,3,0,124,1,0,12,115,81,0,124,3,0,
- 106,2,0,131,0,0,100,7,0,100,8,0,133,2,0,25,
- 100,6,0,107,3,0,114,85,0,124,0,0,83,121,16,0,
- 116,3,0,124,0,0,131,1,0,125,4,0,87,110,40,0,
- 4,116,4,0,116,5,0,102,2,0,107,10,0,114,143,0,
- 1,1,1,124,0,0,100,2,0,100,9,0,133,2,0,25,
- 125,4,0,89,110,1,0,88,116,6,0,124,4,0,131,1,
- 0,114,160,0,124,4,0,83,124,0,0,83,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,84,0,0,
- 0,78,114,116,0,0,0,233,3,0,0,0,114,29,0,0,
- 0,90,2,112,121,233,253,255,255,255,233,255,255,255,255,114,
- 139,0,0,0,41,7,114,31,0,0,0,114,32,0,0,0,
- 218,5,108,111,119,101,114,114,136,0,0,0,114,123,0,0,
- 0,114,133,0,0,0,114,44,0,0,0,41,5,218,13,98,
- 121,116,101,99,111,100,101,95,112,97,116,104,114,130,0,0,
- 0,114,36,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,5,0,0,0,218,15,95,
- 103,101,116,95,115,111,117,114,99,101,102,105,108,101,231,1,
- 0,0,115,20,0,0,0,0,7,18,1,4,1,24,1,35,
- 1,4,1,3,1,16,1,19,1,21,1,114,143,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,60,0,0,0,121,19,0,116,0,0,
- 124,0,0,131,1,0,106,1,0,125,1,0,87,110,24,0,
- 4,116,2,0,107,10,0,114,45,0,1,1,1,100,1,0,
- 125,1,0,89,110,1,0,88,124,1,0,100,2,0,79,125,
- 1,0,124,1,0,83,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,39,0,0,0,114,41,
- 0,0,0,114,40,0,0,0,41,2,114,35,0,0,0,114,
- 42,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,10,95,99,97,108,99,95,109,111,100,101,250,
- 1,0,0,115,12,0,0,0,0,2,3,1,19,1,13,1,
- 11,3,10,1,114,145,0,0,0,218,9,118,101,114,98,111,
- 115,105,116,121,114,29,0,0,0,99,1,0,0,0,1,0,
- 0,0,3,0,0,0,4,0,0,0,71,0,0,0,115,81,
- 0,0,0,116,0,0,106,1,0,106,2,0,124,1,0,107,
- 5,0,114,77,0,124,0,0,106,3,0,100,6,0,131,1,
- 0,115,46,0,100,3,0,124,0,0,23,125,0,0,110,0,
- 0,116,4,0,124,0,0,106,5,0,124,2,0,140,0,0,
- 100,4,0,116,0,0,106,6,0,131,1,1,1,110,0,0,
- 100,5,0,83,41,7,122,61,80,114,105,110,116,32,116,104,
- 101,32,109,101,115,115,97,103,101,32,116,111,32,115,116,100,
- 101,114,114,32,105,102,32,45,118,47,80,89,84,72,79,78,
- 86,69,82,66,79,83,69,32,105,115,32,116,117,114,110,101,
- 100,32,111,110,46,250,1,35,250,7,105,109,112,111,114,116,
- 32,122,2,35,32,114,54,0,0,0,78,41,2,114,147,0,
- 0,0,114,148,0,0,0,41,7,114,7,0,0,0,114,117,
- 0,0,0,218,7,118,101,114,98,111,115,101,114,9,0,0,
- 0,218,5,112,114,105,110,116,114,47,0,0,0,218,6,115,
- 116,100,101,114,114,41,3,218,7,109,101,115,115,97,103,101,
- 114,146,0,0,0,114,80,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,218,16,95,118,101,114,98,
- 111,115,101,95,109,101,115,115,97,103,101,6,2,0,0,115,
- 8,0,0,0,0,2,18,1,15,1,13,1,114,153,0,0,
- 0,99,1,0,0,0,0,0,0,0,2,0,0,0,4,0,
- 0,0,3,0,0,0,115,38,0,0,0,100,1,0,135,0,
- 0,102,1,0,100,2,0,100,3,0,134,1,0,125,1,0,
- 116,0,0,124,1,0,136,0,0,131,2,0,1,124,1,0,
- 83,41,4,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,5,
- 0,0,0,31,0,0,0,115,83,0,0,0,124,1,0,100,
- 0,0,107,8,0,114,24,0,124,0,0,106,0,0,125,1,
- 0,110,40,0,124,0,0,106,0,0,124,1,0,107,3,0,
- 114,64,0,116,1,0,100,1,0,124,1,0,22,100,2,0,
- 124,1,0,131,1,1,130,1,0,110,0,0,136,0,0,124,
- 0,0,124,1,0,124,2,0,124,3,0,142,2,0,83,41,
- 3,78,122,23,108,111,97,100,101,114,32,99,97,110,110,111,
- 116,32,104,97,110,100,108,101,32,37,115,114,67,0,0,0,
- 41,2,114,67,0,0,0,218,11,73,109,112,111,114,116,69,
- 114,114,111,114,41,4,114,71,0,0,0,114,67,0,0,0,
- 114,80,0,0,0,114,108,0,0,0,41,1,218,6,109,101,
- 116,104,111,100,114,4,0,0,0,114,5,0,0,0,218,19,
- 95,99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,
- 112,101,114,22,2,0,0,115,10,0,0,0,0,1,12,1,
- 12,1,15,1,25,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,
- 41,1,114,65,0,0,0,41,2,114,155,0,0,0,114,156,
- 0,0,0,114,4,0,0,0,41,1,114,155,0,0,0,114,
- 5,0,0,0,218,11,95,99,104,101,99,107,95,110,97,109,
- 101,14,2,0,0,115,6,0,0,0,0,8,21,6,13,1,
- 114,157,0,0,0,99,1,0,0,0,0,0,0,0,2,0,
- 0,0,3,0,0,0,3,0,0,0,115,35,0,0,0,135,
- 0,0,102,1,0,100,1,0,100,2,0,134,0,0,125,1,
- 0,116,0,0,124,1,0,136,0,0,131,2,0,1,124,1,
- 0,83,41,3,122,49,68,101,99,111,114,97,116,111,114,32,
- 116,111,32,118,101,114,105,102,121,32,116,104,101,32,110,97,
- 109,101,100,32,109,111,100,117,108,101,32,105,115,32,98,117,
- 105,108,116,45,105,110,46,99,2,0,0,0,0,0,0,0,
- 2,0,0,0,4,0,0,0,19,0,0,0,115,58,0,0,
- 0,124,1,0,116,0,0,106,1,0,107,7,0,114,45,0,
- 116,2,0,100,1,0,106,3,0,124,1,0,131,1,0,100,
- 2,0,124,1,0,131,1,1,130,1,0,110,0,0,136,0,
- 0,124,0,0,124,1,0,131,2,0,83,41,3,78,122,29,
- 123,33,114,125,32,105,115,32,110,111,116,32,97,32,98,117,
- 105,108,116,45,105,110,32,109,111,100,117,108,101,114,67,0,
- 0,0,41,4,114,7,0,0,0,218,20,98,117,105,108,116,
- 105,110,95,109,111,100,117,108,101,95,110,97,109,101,115,114,
- 154,0,0,0,114,47,0,0,0,41,2,114,71,0,0,0,
- 218,8,102,117,108,108,110,97,109,101,41,1,218,3,102,120,
- 110,114,4,0,0,0,114,5,0,0,0,218,25,95,114,101,
- 113,117,105,114,101,115,95,98,117,105,108,116,105,110,95,119,
- 114,97,112,112,101,114,34,2,0,0,115,8,0,0,0,0,
- 1,15,1,18,1,12,1,122,52,95,114,101,113,117,105,114,
- 101,115,95,98,117,105,108,116,105,110,46,60,108,111,99,97,
- 108,115,62,46,95,114,101,113,117,105,114,101,115,95,98,117,
- 105,108,116,105,110,95,119,114,97,112,112,101,114,41,1,114,
- 65,0,0,0,41,2,114,160,0,0,0,114,161,0,0,0,
- 114,4,0,0,0,41,1,114,160,0,0,0,114,5,0,0,
- 0,218,17,95,114,101,113,117,105,114,101,115,95,98,117,105,
- 108,116,105,110,32,2,0,0,115,6,0,0,0,0,2,18,
- 5,13,1,114,162,0,0,0,99,1,0,0,0,0,0,0,
- 0,2,0,0,0,3,0,0,0,3,0,0,0,115,35,0,
- 0,0,135,0,0,102,1,0,100,1,0,100,2,0,134,0,
- 0,125,1,0,116,0,0,124,1,0,136,0,0,131,2,0,
- 1,124,1,0,83,41,3,122,47,68,101,99,111,114,97,116,
- 111,114,32,116,111,32,118,101,114,105,102,121,32,116,104,101,
- 32,110,97,109,101,100,32,109,111,100,117,108,101,32,105,115,
- 32,102,114,111,122,101,110,46,99,2,0,0,0,0,0,0,
- 0,2,0,0,0,4,0,0,0,19,0,0,0,115,58,0,
- 0,0,116,0,0,106,1,0,124,1,0,131,1,0,115,45,
- 0,116,2,0,100,1,0,106,3,0,124,1,0,131,1,0,
- 100,2,0,124,1,0,131,1,1,130,1,0,110,0,0,136,
+ 104,101,32,112,97,116,104,32,116,111,32,116,104,101,10,32,
+ 32,32,32,46,112,121,99,47,46,112,121,111,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,32,32,
+ 84,104,101,32,101,120,116,101,110,115,105,111,110,10,32,32,
+ 32,32,119,105,108,108,32,98,101,32,46,112,121,99,32,117,
+ 110,108,101,115,115,32,115,121,115,46,102,108,97,103,115,46,
+ 111,112,116,105,109,105,122,101,32,105,115,32,110,111,110,45,
+ 122,101,114,111,44,32,116,104,101,110,32,105,116,32,119,105,
+ 108,108,32,98,101,32,46,112,121,111,46,10,10,32,32,32,
+ 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,32,
+ 116,104,101,110,32,105,116,32,109,117,115,116,32,98,101,32,
+ 97,32,98,111,111,108,101,97,110,32,97,110,100,32,105,115,
+ 32,117,115,101,100,32,105,110,10,32,32,32,32,112,108,97,
+ 99,101,32,111,102,32,115,121,115,46,102,108,97,103,115,46,
+ 111,112,116,105,109,105,122,101,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,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,114,30,0,0,0,114,
+ 84,0,0,0,41,13,114,7,0,0,0,218,5,102,108,97,
+ 103,115,218,8,111,112,116,105,109,105,122,101,218,23,68,69,
+ 66,85,71,95,66,89,84,69,67,79,68,69,95,83,85,70,
+ 70,73,88,69,83,218,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,38,0,0,0,114,32,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,26,0,0,
+ 0,114,28,0,0,0,218,8,95,80,89,67,65,67,72,69,
+ 41,11,114,35,0,0,0,90,14,100,101,98,117,103,95,111,
+ 118,101,114,114,105,100,101,218,5,100,101,98,117,103,218,8,
+ 115,117,102,102,105,120,101,115,218,4,104,101,97,100,114,37,
+ 0,0,0,218,4,98,97,115,101,218,3,115,101,112,218,4,
+ 114,101,115,116,90,3,116,97,103,218,8,102,105,108,101,110,
+ 97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,218,17,99,97,99,104,101,95,102,114,111,109,95,115,
+ 111,117,114,99,101,182,1,0,0,115,22,0,0,0,0,13,
+ 31,1,6,1,9,2,6,1,18,1,24,1,12,1,12,1,
+ 12,1,43,1,114,132,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,184,
+ 0,0,0,116,0,0,106,1,0,106,2,0,100,1,0,107,
+ 8,0,114,30,0,116,3,0,100,2,0,131,1,0,130,1,
+ 0,116,4,0,124,0,0,131,1,0,92,2,0,125,1,0,
+ 125,2,0,116,4,0,124,1,0,131,1,0,92,2,0,125,
+ 1,0,125,3,0,124,3,0,116,5,0,107,3,0,114,102,
+ 0,116,6,0,100,3,0,106,7,0,116,5,0,124,0,0,
+ 131,2,0,131,1,0,130,1,0,124,2,0,106,8,0,100,
+ 4,0,131,1,0,100,5,0,107,3,0,114,144,0,116,6,
+ 0,100,6,0,106,7,0,124,2,0,131,1,0,131,1,0,
+ 130,1,0,124,2,0,106,9,0,100,4,0,131,1,0,100,
+ 7,0,25,125,4,0,116,10,0,124,1,0,124,4,0,116,
+ 11,0,100,7,0,25,23,131,2,0,83,41,8,97,121,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,47,46,112,121,111,
+ 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,47,46,112,121,111,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,47,46,112,
+ 121,111,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,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,116,0,0,0,114,115,
+ 0,0,0,122,28,101,120,112,101,99,116,101,100,32,111,110,
+ 108,121,32,50,32,100,111,116,115,32,105,110,32,123,33,114,
+ 125,114,84,0,0,0,41,12,114,7,0,0,0,114,121,0,
+ 0,0,114,122,0,0,0,114,123,0,0,0,114,38,0,0,
+ 0,114,124,0,0,0,218,10,86,97,108,117,101,69,114,114,
+ 111,114,114,47,0,0,0,114,89,0,0,0,218,9,112,97,
+ 114,116,105,116,105,111,110,114,28,0,0,0,218,15,83,79,
+ 85,82,67,69,95,83,85,70,70,73,88,69,83,41,5,114,
+ 35,0,0,0,114,127,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,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,5,0,
+ 0,0,218,17,115,111,117,114,99,101,95,102,114,111,109,95,
+ 99,97,99,104,101,209,1,0,0,115,24,0,0,0,0,9,
+ 18,1,12,1,18,1,18,1,12,1,9,1,15,1,21,1,
+ 9,1,12,1,19,1,114,136,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,164,0,0,0,116,0,0,124,0,0,131,1,0,100,1,
+ 0,107,2,0,114,22,0,100,2,0,83,124,0,0,106,1,
+ 0,100,3,0,131,1,0,92,3,0,125,1,0,125,2,0,
+ 125,3,0,124,1,0,12,115,81,0,124,3,0,106,2,0,
+ 131,0,0,100,7,0,100,8,0,133,2,0,25,100,6,0,
+ 107,3,0,114,85,0,124,0,0,83,121,16,0,116,3,0,
+ 124,0,0,131,1,0,125,4,0,87,110,40,0,4,116,4,
+ 0,116,5,0,102,2,0,107,10,0,114,143,0,1,1,1,
+ 124,0,0,100,2,0,100,9,0,133,2,0,25,125,4,0,
+ 89,110,1,0,88,116,6,0,124,4,0,131,1,0,114,160,
+ 0,124,4,0,83,124,0,0,83,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,84,0,0,0,78,114,
+ 116,0,0,0,233,3,0,0,0,114,29,0,0,0,90,2,
+ 112,121,233,253,255,255,255,233,255,255,255,255,114,139,0,0,
+ 0,41,7,114,31,0,0,0,114,32,0,0,0,218,5,108,
+ 111,119,101,114,114,136,0,0,0,114,123,0,0,0,114,133,
+ 0,0,0,114,44,0,0,0,41,5,218,13,98,121,116,101,
+ 99,111,100,101,95,112,97,116,104,114,130,0,0,0,114,36,
+ 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,5,0,0,0,218,15,95,103,101,116,
+ 95,115,111,117,114,99,101,102,105,108,101,232,1,0,0,115,
+ 20,0,0,0,0,7,18,1,4,1,24,1,35,1,4,1,
+ 3,1,16,1,19,1,21,1,114,143,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,60,0,0,0,121,19,0,116,0,0,124,0,0,
+ 131,1,0,106,1,0,125,1,0,87,110,24,0,4,116,2,
+ 0,107,10,0,114,45,0,1,1,1,100,1,0,125,1,0,
+ 89,110,1,0,88,124,1,0,100,2,0,79,125,1,0,124,
+ 1,0,83,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,39,0,0,0,114,41,0,0,0,
+ 114,40,0,0,0,41,2,114,35,0,0,0,114,42,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,10,95,99,97,108,99,95,109,111,100,101,251,1,0,0,
+ 115,12,0,0,0,0,2,3,1,19,1,13,1,11,3,10,
+ 1,114,145,0,0,0,218,9,118,101,114,98,111,115,105,116,
+ 121,114,29,0,0,0,99,1,0,0,0,1,0,0,0,3,
+ 0,0,0,4,0,0,0,71,0,0,0,115,75,0,0,0,
+ 116,0,0,106,1,0,106,2,0,124,1,0,107,5,0,114,
+ 71,0,124,0,0,106,3,0,100,6,0,131,1,0,115,43,
+ 0,100,3,0,124,0,0,23,125,0,0,116,4,0,124,0,
+ 0,106,5,0,124,2,0,140,0,0,100,4,0,116,0,0,
+ 106,6,0,131,1,1,1,100,5,0,83,41,7,122,61,80,
+ 114,105,110,116,32,116,104,101,32,109,101,115,115,97,103,101,
+ 32,116,111,32,115,116,100,101,114,114,32,105,102,32,45,118,
+ 47,80,89,84,72,79,78,86,69,82,66,79,83,69,32,105,
+ 115,32,116,117,114,110,101,100,32,111,110,46,250,1,35,250,
+ 7,105,109,112,111,114,116,32,122,2,35,32,114,54,0,0,
+ 0,78,41,2,114,147,0,0,0,114,148,0,0,0,41,7,
+ 114,7,0,0,0,114,117,0,0,0,218,7,118,101,114,98,
+ 111,115,101,114,9,0,0,0,218,5,112,114,105,110,116,114,
+ 47,0,0,0,218,6,115,116,100,101,114,114,41,3,218,7,
+ 109,101,115,115,97,103,101,114,146,0,0,0,114,80,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,16,95,118,101,114,98,111,115,101,95,109,101,115,115,97,
+ 103,101,7,2,0,0,115,8,0,0,0,0,2,18,1,15,
+ 1,10,1,114,153,0,0,0,99,1,0,0,0,0,0,0,
+ 0,2,0,0,0,4,0,0,0,3,0,0,0,115,38,0,
+ 0,0,100,1,0,135,0,0,102,1,0,100,2,0,100,3,
+ 0,134,1,0,125,1,0,116,0,0,124,1,0,136,0,0,
+ 131,2,0,1,124,1,0,83,41,4,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,5,0,0,0,31,0,0,0,115,80,
+ 0,0,0,124,1,0,100,0,0,107,8,0,114,24,0,124,
+ 0,0,106,0,0,125,1,0,110,37,0,124,0,0,106,0,
+ 0,124,1,0,107,3,0,114,61,0,116,1,0,100,1,0,
+ 124,1,0,22,100,2,0,124,1,0,131,1,1,130,1,0,
+ 136,0,0,124,0,0,124,1,0,124,2,0,124,3,0,142,
+ 2,0,83,41,3,78,122,23,108,111,97,100,101,114,32,99,
+ 97,110,110,111,116,32,104,97,110,100,108,101,32,37,115,114,
+ 67,0,0,0,41,2,114,67,0,0,0,218,11,73,109,112,
+ 111,114,116,69,114,114,111,114,41,4,114,71,0,0,0,114,
+ 67,0,0,0,114,80,0,0,0,114,108,0,0,0,41,1,
+ 218,6,109,101,116,104,111,100,114,4,0,0,0,114,5,0,
+ 0,0,218,19,95,99,104,101,99,107,95,110,97,109,101,95,
+ 119,114,97,112,112,101,114,23,2,0,0,115,10,0,0,0,
+ 0,1,12,1,12,1,15,1,22,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,41,1,114,65,0,0,0,41,2,114,155,0,
+ 0,0,114,156,0,0,0,114,4,0,0,0,41,1,114,155,
+ 0,0,0,114,5,0,0,0,218,11,95,99,104,101,99,107,
+ 95,110,97,109,101,15,2,0,0,115,6,0,0,0,0,8,
+ 21,6,13,1,114,157,0,0,0,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,3,0,0,0,3,0,0,0,115,35,
+ 0,0,0,135,0,0,102,1,0,100,1,0,100,2,0,134,
+ 0,0,125,1,0,116,0,0,124,1,0,136,0,0,131,2,
+ 0,1,124,1,0,83,41,3,122,49,68,101,99,111,114,97,
+ 116,111,114,32,116,111,32,118,101,114,105,102,121,32,116,104,
+ 101,32,110,97,109,101,100,32,109,111,100,117,108,101,32,105,
+ 115,32,98,117,105,108,116,45,105,110,46,99,2,0,0,0,
+ 0,0,0,0,2,0,0,0,4,0,0,0,19,0,0,0,
+ 115,55,0,0,0,124,1,0,116,0,0,106,1,0,107,7,
+ 0,114,42,0,116,2,0,100,1,0,106,3,0,124,1,0,
+ 131,1,0,100,2,0,124,1,0,131,1,1,130,1,0,136,
0,0,124,0,0,124,1,0,131,2,0,83,41,3,78,122,
- 27,123,33,114,125,32,105,115,32,110,111,116,32,97,32,102,
- 114,111,122,101,110,32,109,111,100,117,108,101,114,67,0,0,
- 0,41,4,114,106,0,0,0,218,9,105,115,95,102,114,111,
- 122,101,110,114,154,0,0,0,114,47,0,0,0,41,2,114,
- 71,0,0,0,114,159,0,0,0,41,1,114,160,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,218,24,95,114,101,113,
- 117,105,114,101,115,95,102,114,111,122,101,110,95,119,114,97,
- 112,112,101,114,45,2,0,0,115,8,0,0,0,0,1,15,
- 1,18,1,12,1,122,50,95,114,101,113,117,105,114,101,115,
- 95,102,114,111,122,101,110,46,60,108,111,99,97,108,115,62,
- 46,95,114,101,113,117,105,114,101,115,95,102,114,111,122,101,
- 110,95,119,114,97,112,112,101,114,41,1,114,65,0,0,0,
- 41,2,114,160,0,0,0,114,164,0,0,0,114,4,0,0,
- 0,41,1,114,160,0,0,0,114,5,0,0,0,218,16,95,
- 114,101,113,117,105,114,101,115,95,102,114,111,122,101,110,43,
- 2,0,0,115,6,0,0,0,0,2,18,5,13,1,114,165,
- 0,0,0,99,2,0,0,0,0,0,0,0,5,0,0,0,
- 4,0,0,0,67,0,0,0,115,87,0,0,0,124,0,0,
- 106,0,0,124,1,0,131,1,0,92,2,0,125,2,0,125,
- 3,0,124,2,0,100,1,0,107,8,0,114,83,0,116,1,
- 0,124,3,0,131,1,0,114,83,0,100,2,0,125,4,0,
- 116,2,0,106,3,0,124,4,0,106,4,0,124,3,0,100,
- 3,0,25,131,1,0,116,5,0,131,2,0,1,110,0,0,
- 124,2,0,83,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,84,0,0,0,41,6,218,11,102,105,110,100,95,
- 108,111,97,100,101,114,114,31,0,0,0,218,9,95,119,97,
- 114,110,105,110,103,115,218,4,119,97,114,110,114,47,0,0,
- 0,218,13,73,109,112,111,114,116,87,97,114,110,105,110,103,
- 41,5,114,71,0,0,0,114,159,0,0,0,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,5,0,
- 0,0,218,17,95,102,105,110,100,95,109,111,100,117,108,101,
- 95,115,104,105,109,54,2,0,0,115,10,0,0,0,0,10,
- 21,1,24,1,6,1,32,1,114,173,0,0,0,99,2,0,
- 0,0,0,0,0,0,5,0,0,0,3,0,0,0,67,0,
- 0,0,115,93,0,0,0,116,0,0,124,1,0,124,0,0,
- 131,2,0,125,2,0,116,1,0,124,2,0,131,1,0,125,
- 3,0,124,1,0,116,2,0,106,3,0,107,6,0,114,79,
- 0,116,2,0,106,3,0,124,1,0,25,125,4,0,124,3,
- 0,106,4,0,124,4,0,131,1,0,1,116,2,0,106,3,
- 0,124,1,0,25,83,124,3,0,106,5,0,131,0,0,83,
- 100,1,0,83,41,2,122,128,76,111,97,100,32,116,104,101,
- 32,115,112,101,99,105,102,105,101,100,32,109,111,100,117,108,
- 101,32,105,110,116,111,32,115,121,115,46,109,111,100,117,108,
- 101,115,32,97,110,100,32,114,101,116,117,114,110,32,105,116,
- 46,10,10,32,32,32,32,84,104,105,115,32,109,101,116,104,
- 111,100,32,105,115,32,100,101,112,114,101,99,97,116,101,100,
- 46,32,32,85,115,101,32,108,111,97,100,101,114,46,101,120,
- 101,99,95,109,111,100,117,108,101,32,105,110,115,116,101,97,
- 100,46,10,10,32,32,32,32,78,41,6,218,16,115,112,101,
- 99,95,102,114,111,109,95,108,111,97,100,101,114,218,12,95,
- 83,112,101,99,77,101,116,104,111,100,115,114,7,0,0,0,
- 114,73,0,0,0,218,4,101,120,101,99,218,4,108,111,97,
- 100,41,5,114,71,0,0,0,114,159,0,0,0,218,4,115,
- 112,101,99,218,7,109,101,116,104,111,100,115,218,6,109,111,
- 100,117,108,101,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,108,
- 101,95,115,104,105,109,71,2,0,0,115,14,0,0,0,0,
- 6,15,1,12,1,15,1,13,1,13,1,11,2,114,181,0,
- 0,0,99,4,0,0,0,0,0,0,0,11,0,0,0,19,
- 0,0,0,67,0,0,0,115,243,1,0,0,105,0,0,125,
- 4,0,124,2,0,100,1,0,107,9,0,114,31,0,124,2,
- 0,124,4,0,100,2,0,60,110,6,0,100,3,0,125,2,
- 0,124,3,0,100,1,0,107,9,0,114,62,0,124,3,0,
- 124,4,0,100,4,0,60,110,0,0,124,0,0,100,1,0,
- 100,5,0,133,2,0,25,125,5,0,124,0,0,100,5,0,
- 100,6,0,133,2,0,25,125,6,0,124,0,0,100,6,0,
- 100,7,0,133,2,0,25,125,7,0,124,5,0,116,0,0,
- 107,3,0,114,168,0,100,8,0,106,1,0,124,2,0,124,
- 5,0,131,2,0,125,8,0,116,2,0,124,8,0,131,1,
- 0,1,116,3,0,124,8,0,124,4,0,141,1,0,130,1,
- 0,110,116,0,116,4,0,124,6,0,131,1,0,100,5,0,
- 107,3,0,114,226,0,100,9,0,106,1,0,124,2,0,131,
- 1,0,125,8,0,116,2,0,124,8,0,131,1,0,1,116,
- 5,0,124,8,0,131,1,0,130,1,0,110,58,0,116,4,
- 0,124,7,0,131,1,0,100,5,0,107,3,0,114,28,1,
- 100,10,0,106,1,0,124,2,0,131,1,0,125,8,0,116,
- 2,0,124,8,0,131,1,0,1,116,5,0,124,8,0,131,
- 1,0,130,1,0,110,0,0,124,1,0,100,1,0,107,9,
- 0,114,229,1,121,20,0,116,6,0,124,1,0,100,11,0,
- 25,131,1,0,125,9,0,87,110,18,0,4,116,7,0,107,
- 10,0,114,80,1,1,1,1,89,110,62,0,88,116,8,0,
- 124,6,0,131,1,0,124,9,0,107,3,0,114,142,1,100,
- 12,0,106,1,0,124,2,0,131,1,0,125,8,0,116,2,
- 0,124,8,0,131,1,0,1,116,3,0,124,8,0,124,4,
- 0,141,1,0,130,1,0,110,0,0,121,18,0,124,1,0,
- 100,13,0,25,100,14,0,64,125,10,0,87,110,18,0,4,
- 116,7,0,107,10,0,114,180,1,1,1,1,89,113,229,1,
- 88,116,8,0,124,7,0,131,1,0,124,10,0,107,3,0,
- 114,229,1,116,3,0,100,12,0,106,1,0,124,2,0,131,
- 1,0,124,4,0,141,1,0,130,1,0,113,229,1,110,0,
- 0,124,0,0,100,7,0,100,1,0,133,2,0,25,83,41,
- 15,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,67,0,0,0,122,10,60,98,121,116,101,99,111,100,
- 101,62,114,35,0,0,0,114,12,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,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,9,218,12,77,65,71,
- 73,67,95,78,85,77,66,69,82,114,47,0,0,0,114,153,
- 0,0,0,114,154,0,0,0,114,31,0,0,0,218,8,69,
- 79,70,69,114,114,111,114,114,14,0,0,0,114,79,0,0,
- 0,114,19,0,0,0,41,11,114,53,0,0,0,218,12,115,
- 111,117,114,99,101,95,115,116,97,116,115,114,67,0,0,0,
- 114,35,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,152,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,5,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,87,2,0,0,
- 115,76,0,0,0,0,11,6,1,12,1,13,3,6,1,12,
- 1,13,1,16,1,16,1,16,1,12,1,18,1,10,1,18,
- 1,18,1,15,1,10,1,15,1,18,1,15,1,10,1,15,
- 1,12,1,3,1,20,1,13,1,5,2,18,1,15,1,10,
- 1,18,1,3,1,18,1,13,1,5,2,18,1,15,1,15,
- 1,114,191,0,0,0,99,4,0,0,0,0,0,0,0,5,
- 0,0,0,6,0,0,0,67,0,0,0,115,115,0,0,0,
- 116,0,0,106,1,0,124,0,0,131,1,0,125,4,0,116,
- 2,0,124,4,0,116,3,0,131,2,0,114,78,0,116,4,
- 0,100,1,0,124,2,0,131,2,0,1,124,3,0,100,2,
- 0,107,9,0,114,74,0,116,5,0,106,6,0,124,4,0,
- 124,3,0,131,2,0,1,110,0,0,124,4,0,83,116,7,
- 0,100,3,0,106,8,0,124,2,0,131,1,0,100,4,0,
- 124,1,0,100,5,0,124,2,0,131,1,2,130,1,0,100,
- 2,0,83,41,6,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,114,67,0,0,0,114,35,0,0,0,41,9,
- 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,153,0,0,0,114,106,0,
- 0,0,90,16,95,102,105,120,95,99,111,95,102,105,108,101,
- 110,97,109,101,114,154,0,0,0,114,47,0,0,0,41,5,
- 114,53,0,0,0,114,67,0,0,0,114,141,0,0,0,114,
- 142,0,0,0,218,4,99,111,100,101,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,218,17,95,99,111,109,112,
- 105,108,101,95,98,121,116,101,99,111,100,101,142,2,0,0,
- 115,16,0,0,0,0,2,15,1,15,1,13,1,12,1,19,
- 1,4,2,18,1,114,196,0,0,0,114,84,0,0,0,99,
- 3,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,
- 67,0,0,0,115,76,0,0,0,116,0,0,116,1,0,131,
- 1,0,125,3,0,124,3,0,106,2,0,116,3,0,124,1,
- 0,131,1,0,131,1,0,1,124,3,0,106,2,0,116,3,
- 0,124,2,0,131,1,0,131,1,0,1,124,3,0,106,2,
- 0,116,4,0,106,5,0,124,0,0,131,1,0,131,1,0,
- 1,124,3,0,83,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,186,0,0,0,218,6,101,120,116,
- 101,110,100,114,17,0,0,0,114,192,0,0,0,90,5,100,
- 117,109,112,115,41,4,114,195,0,0,0,114,184,0,0,0,
- 114,190,0,0,0,114,53,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,218,17,95,99,111,100,101,
- 95,116,111,95,98,121,116,101,99,111,100,101,154,2,0,0,
- 115,10,0,0,0,0,3,12,1,19,1,19,1,22,1,114,
- 199,0,0,0,99,1,0,0,0,0,0,0,0,5,0,0,
- 0,4,0,0,0,67,0,0,0,115,89,0,0,0,100,1,
- 0,100,2,0,108,0,0,125,1,0,116,1,0,106,2,0,
- 124,0,0,131,1,0,106,3,0,125,2,0,124,1,0,106,
- 4,0,124,2,0,131,1,0,125,3,0,116,1,0,106,5,
- 0,100,2,0,100,3,0,131,2,0,125,4,0,124,4,0,
- 106,6,0,124,0,0,106,6,0,124,3,0,100,1,0,25,
- 131,1,0,131,1,0,83,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,84,0,0,0,78,84,41,7,218,8,116,
- 111,107,101,110,105,122,101,114,49,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,200,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,5,0,0,0,218,13,100,101,99,111,100,
- 101,95,115,111,117,114,99,101,164,2,0,0,115,10,0,0,
- 0,0,5,12,1,18,1,15,1,18,1,114,204,0,0,0,
- 99,1,0,0,0,0,0,0,0,5,0,0,0,35,0,0,
- 0,67,0,0,0,115,15,1,0,0,116,0,0,124,0,0,
- 100,1,0,100,0,0,131,3,0,125,1,0,116,1,0,124,
- 1,0,100,2,0,131,2,0,114,74,0,121,17,0,124,1,
- 0,106,2,0,124,0,0,131,1,0,83,87,113,74,0,4,
- 116,3,0,107,10,0,114,70,0,1,1,1,89,113,74,0,
- 88,110,0,0,121,13,0,124,0,0,106,4,0,125,2,0,
- 87,110,18,0,4,116,5,0,107,10,0,114,107,0,1,1,
- 1,89,110,29,0,88,124,2,0,100,0,0,107,9,0,114,
- 136,0,116,6,0,124,2,0,131,1,0,106,2,0,131,0,
- 0,83,121,13,0,124,0,0,106,7,0,125,3,0,87,110,
- 24,0,4,116,5,0,107,10,0,114,175,0,1,1,1,100,
- 3,0,125,3,0,89,110,1,0,88,121,13,0,124,0,0,
- 106,8,0,125,4,0,87,110,59,0,4,116,5,0,107,10,
- 0,114,250,0,1,1,1,124,1,0,100,0,0,107,8,0,
- 114,230,0,100,4,0,106,9,0,124,3,0,131,1,0,83,
- 100,5,0,106,9,0,124,3,0,124,1,0,131,2,0,83,
- 89,110,17,0,88,100,6,0,106,9,0,124,3,0,124,4,
- 0,131,2,0,83,100,0,0,83,41,7,78,218,10,95,95,
- 108,111,97,100,101,114,95,95,218,11,109,111,100,117,108,101,
- 95,114,101,112,114,250,1,63,122,13,60,109,111,100,117,108,
- 101,32,123,33,114,125,62,122,20,60,109,111,100,117,108,101,
- 32,123,33,114,125,32,40,123,33,114,125,41,62,122,23,60,
- 109,111,100,117,108,101,32,123,33,114,125,32,102,114,111,109,
- 32,123,33,114,125,62,41,10,114,62,0,0,0,114,60,0,
- 0,0,114,206,0,0,0,218,9,69,120,99,101,112,116,105,
- 111,110,218,8,95,95,115,112,101,99,95,95,218,14,65,116,
- 116,114,105,98,117,116,101,69,114,114,111,114,114,175,0,0,
- 0,114,57,0,0,0,218,8,95,95,102,105,108,101,95,95,
- 114,47,0,0,0,41,5,114,180,0,0,0,114,170,0,0,
- 0,114,178,0,0,0,114,67,0,0,0,114,131,0,0,0,
+ 29,123,33,114,125,32,105,115,32,110,111,116,32,97,32,98,
+ 117,105,108,116,45,105,110,32,109,111,100,117,108,101,114,67,
+ 0,0,0,41,4,114,7,0,0,0,218,20,98,117,105,108,
+ 116,105,110,95,109,111,100,117,108,101,95,110,97,109,101,115,
+ 114,154,0,0,0,114,47,0,0,0,41,2,114,71,0,0,
+ 0,218,8,102,117,108,108,110,97,109,101,41,1,218,3,102,
+ 120,110,114,4,0,0,0,114,5,0,0,0,218,25,95,114,
+ 101,113,117,105,114,101,115,95,98,117,105,108,116,105,110,95,
+ 119,114,97,112,112,101,114,35,2,0,0,115,8,0,0,0,
+ 0,1,15,1,18,1,9,1,122,52,95,114,101,113,117,105,
+ 114,101,115,95,98,117,105,108,116,105,110,46,60,108,111,99,
+ 97,108,115,62,46,95,114,101,113,117,105,114,101,115,95,98,
+ 117,105,108,116,105,110,95,119,114,97,112,112,101,114,41,1,
+ 114,65,0,0,0,41,2,114,160,0,0,0,114,161,0,0,
+ 0,114,4,0,0,0,41,1,114,160,0,0,0,114,5,0,
+ 0,0,218,17,95,114,101,113,117,105,114,101,115,95,98,117,
+ 105,108,116,105,110,33,2,0,0,115,6,0,0,0,0,2,
+ 18,5,13,1,114,162,0,0,0,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,3,0,0,0,3,0,0,0,115,35,
+ 0,0,0,135,0,0,102,1,0,100,1,0,100,2,0,134,
+ 0,0,125,1,0,116,0,0,124,1,0,136,0,0,131,2,
+ 0,1,124,1,0,83,41,3,122,47,68,101,99,111,114,97,
+ 116,111,114,32,116,111,32,118,101,114,105,102,121,32,116,104,
+ 101,32,110,97,109,101,100,32,109,111,100,117,108,101,32,105,
+ 115,32,102,114,111,122,101,110,46,99,2,0,0,0,0,0,
+ 0,0,2,0,0,0,4,0,0,0,19,0,0,0,115,55,
+ 0,0,0,116,0,0,106,1,0,124,1,0,131,1,0,115,
+ 42,0,116,2,0,100,1,0,106,3,0,124,1,0,131,1,
+ 0,100,2,0,124,1,0,131,1,1,130,1,0,136,0,0,
+ 124,0,0,124,1,0,131,2,0,83,41,3,78,122,27,123,
+ 33,114,125,32,105,115,32,110,111,116,32,97,32,102,114,111,
+ 122,101,110,32,109,111,100,117,108,101,114,67,0,0,0,41,
+ 4,114,106,0,0,0,218,9,105,115,95,102,114,111,122,101,
+ 110,114,154,0,0,0,114,47,0,0,0,41,2,114,71,0,
+ 0,0,114,159,0,0,0,41,1,114,160,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,218,24,95,114,101,113,117,105,
+ 114,101,115,95,102,114,111,122,101,110,95,119,114,97,112,112,
+ 101,114,46,2,0,0,115,8,0,0,0,0,1,15,1,18,
+ 1,9,1,122,50,95,114,101,113,117,105,114,101,115,95,102,
+ 114,111,122,101,110,46,60,108,111,99,97,108,115,62,46,95,
+ 114,101,113,117,105,114,101,115,95,102,114,111,122,101,110,95,
+ 119,114,97,112,112,101,114,41,1,114,65,0,0,0,41,2,
+ 114,160,0,0,0,114,164,0,0,0,114,4,0,0,0,41,
+ 1,114,160,0,0,0,114,5,0,0,0,218,16,95,114,101,
+ 113,117,105,114,101,115,95,102,114,111,122,101,110,44,2,0,
+ 0,115,6,0,0,0,0,2,18,5,13,1,114,165,0,0,
+ 0,99,2,0,0,0,0,0,0,0,5,0,0,0,4,0,
+ 0,0,67,0,0,0,115,84,0,0,0,124,0,0,106,0,
+ 0,124,1,0,131,1,0,92,2,0,125,2,0,125,3,0,
+ 124,2,0,100,1,0,107,8,0,114,80,0,116,1,0,124,
+ 3,0,131,1,0,114,80,0,100,2,0,125,4,0,116,2,
+ 0,106,3,0,124,4,0,106,4,0,124,3,0,100,3,0,
+ 25,131,1,0,116,5,0,131,2,0,1,124,2,0,83,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,84,0,
+ 0,0,41,6,218,11,102,105,110,100,95,108,111,97,100,101,
+ 114,114,31,0,0,0,218,9,95,119,97,114,110,105,110,103,
+ 115,218,4,119,97,114,110,114,47,0,0,0,218,13,73,109,
+ 112,111,114,116,87,97,114,110,105,110,103,41,5,114,71,0,
+ 0,0,114,159,0,0,0,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,5,0,0,0,218,17,95,
+ 102,105,110,100,95,109,111,100,117,108,101,95,115,104,105,109,
+ 55,2,0,0,115,10,0,0,0,0,10,21,1,24,1,6,
+ 1,29,1,114,173,0,0,0,99,2,0,0,0,0,0,0,
+ 0,4,0,0,0,3,0,0,0,67,0,0,0,115,81,0,
+ 0,0,116,0,0,124,1,0,124,0,0,131,2,0,125,2,
+ 0,124,1,0,116,1,0,106,2,0,107,6,0,114,67,0,
+ 116,1,0,106,2,0,124,1,0,25,125,3,0,116,3,0,
+ 124,2,0,124,3,0,131,2,0,1,116,1,0,106,2,0,
+ 124,1,0,25,83,116,4,0,124,2,0,131,1,0,83,100,
+ 1,0,83,41,2,122,128,76,111,97,100,32,116,104,101,32,
+ 115,112,101,99,105,102,105,101,100,32,109,111,100,117,108,101,
+ 32,105,110,116,111,32,115,121,115,46,109,111,100,117,108,101,
+ 115,32,97,110,100,32,114,101,116,117,114,110,32,105,116,46,
+ 10,10,32,32,32,32,84,104,105,115,32,109,101,116,104,111,
+ 100,32,105,115,32,100,101,112,114,101,99,97,116,101,100,46,
+ 32,32,85,115,101,32,108,111,97,100,101,114,46,101,120,101,
+ 99,95,109,111,100,117,108,101,32,105,110,115,116,101,97,100,
+ 46,10,10,32,32,32,32,78,41,5,218,16,115,112,101,99,
+ 95,102,114,111,109,95,108,111,97,100,101,114,114,7,0,0,
+ 0,114,73,0,0,0,218,5,95,101,120,101,99,218,5,95,
+ 108,111,97,100,41,4,114,71,0,0,0,114,159,0,0,0,
+ 218,4,115,112,101,99,218,6,109,111,100,117,108,101,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,218,17,95,
+ 108,111,97,100,95,109,111,100,117,108,101,95,115,104,105,109,
+ 73,2,0,0,115,12,0,0,0,0,6,15,1,15,1,13,
+ 1,13,1,11,2,114,179,0,0,0,99,4,0,0,0,0,
+ 0,0,0,11,0,0,0,19,0,0,0,67,0,0,0,115,
+ 228,1,0,0,105,0,0,125,4,0,124,2,0,100,1,0,
+ 107,9,0,114,31,0,124,2,0,124,4,0,100,2,0,60,
+ 110,6,0,100,3,0,125,2,0,124,3,0,100,1,0,107,
+ 9,0,114,59,0,124,3,0,124,4,0,100,4,0,60,124,
+ 0,0,100,1,0,100,5,0,133,2,0,25,125,5,0,124,
+ 0,0,100,5,0,100,6,0,133,2,0,25,125,6,0,124,
+ 0,0,100,6,0,100,7,0,133,2,0,25,125,7,0,124,
+ 5,0,116,0,0,107,3,0,114,165,0,100,8,0,106,1,
+ 0,124,2,0,124,5,0,131,2,0,125,8,0,116,2,0,
+ 124,8,0,131,1,0,1,116,3,0,124,8,0,124,4,0,
+ 141,1,0,130,1,0,110,113,0,116,4,0,124,6,0,131,
+ 1,0,100,5,0,107,3,0,114,223,0,100,9,0,106,1,
+ 0,124,2,0,131,1,0,125,8,0,116,2,0,124,8,0,
+ 131,1,0,1,116,5,0,124,8,0,131,1,0,130,1,0,
+ 110,55,0,116,4,0,124,7,0,131,1,0,100,5,0,107,
+ 3,0,114,22,1,100,10,0,106,1,0,124,2,0,131,1,
+ 0,125,8,0,116,2,0,124,8,0,131,1,0,1,116,5,
+ 0,124,8,0,131,1,0,130,1,0,124,1,0,100,1,0,
+ 107,9,0,114,214,1,121,20,0,116,6,0,124,1,0,100,
+ 11,0,25,131,1,0,125,9,0,87,110,18,0,4,116,7,
+ 0,107,10,0,114,74,1,1,1,1,89,110,59,0,88,116,
+ 8,0,124,6,0,131,1,0,124,9,0,107,3,0,114,133,
+ 1,100,12,0,106,1,0,124,2,0,131,1,0,125,8,0,
+ 116,2,0,124,8,0,131,1,0,1,116,3,0,124,8,0,
+ 124,4,0,141,1,0,130,1,0,121,18,0,124,1,0,100,
+ 13,0,25,100,14,0,64,125,10,0,87,110,18,0,4,116,
+ 7,0,107,10,0,114,171,1,1,1,1,89,110,43,0,88,
+ 116,8,0,124,7,0,131,1,0,124,10,0,107,3,0,114,
+ 214,1,116,3,0,100,12,0,106,1,0,124,2,0,131,1,
+ 0,124,4,0,141,1,0,130,1,0,124,0,0,100,7,0,
+ 100,1,0,133,2,0,25,83,41,15,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,67,0,0,0,122,
+ 10,60,98,121,116,101,99,111,100,101,62,114,35,0,0,0,
+ 114,12,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,
+ 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,9,218,12,77,65,71,73,67,95,78,85,77,66,
+ 69,82,114,47,0,0,0,114,153,0,0,0,114,154,0,0,
+ 0,114,31,0,0,0,218,8,69,79,70,69,114,114,111,114,
+ 114,14,0,0,0,114,79,0,0,0,114,19,0,0,0,41,
+ 11,114,53,0,0,0,218,12,115,111,117,114,99,101,95,115,
+ 116,97,116,115,114,67,0,0,0,114,35,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,152,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,5,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,88,2,0,0,115,76,0,0,0,0,11,
+ 6,1,12,1,13,3,6,1,12,1,10,1,16,1,16,1,
+ 16,1,12,1,18,1,10,1,18,1,18,1,15,1,10,1,
+ 15,1,18,1,15,1,10,1,12,1,12,1,3,1,20,1,
+ 13,1,5,2,18,1,15,1,10,1,15,1,3,1,18,1,
+ 13,1,5,2,18,1,15,1,9,1,114,189,0,0,0,99,
+ 4,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,
+ 67,0,0,0,115,112,0,0,0,116,0,0,106,1,0,124,
+ 0,0,131,1,0,125,4,0,116,2,0,124,4,0,116,3,
+ 0,131,2,0,114,75,0,116,4,0,100,1,0,124,2,0,
+ 131,2,0,1,124,3,0,100,2,0,107,9,0,114,71,0,
+ 116,5,0,106,6,0,124,4,0,124,3,0,131,2,0,1,
+ 124,4,0,83,116,7,0,100,3,0,106,8,0,124,2,0,
+ 131,1,0,100,4,0,124,1,0,100,5,0,124,2,0,131,
+ 1,2,130,1,0,100,2,0,83,41,6,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,114,67,0,0,0,114,
+ 35,0,0,0,41,9,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,153,
+ 0,0,0,114,106,0,0,0,90,16,95,102,105,120,95,99,
+ 111,95,102,105,108,101,110,97,109,101,114,154,0,0,0,114,
+ 47,0,0,0,41,5,114,53,0,0,0,114,67,0,0,0,
+ 114,141,0,0,0,114,142,0,0,0,218,4,99,111,100,101,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 17,95,99,111,109,112,105,108,101,95,98,121,116,101,99,111,
+ 100,101,143,2,0,0,115,16,0,0,0,0,2,15,1,15,
+ 1,13,1,12,1,16,1,4,2,18,1,114,194,0,0,0,
+ 114,84,0,0,0,99,3,0,0,0,0,0,0,0,4,0,
+ 0,0,3,0,0,0,67,0,0,0,115,76,0,0,0,116,
+ 0,0,116,1,0,131,1,0,125,3,0,124,3,0,106,2,
+ 0,116,3,0,124,1,0,131,1,0,131,1,0,1,124,3,
+ 0,106,2,0,116,3,0,124,2,0,131,1,0,131,1,0,
+ 1,124,3,0,106,2,0,116,4,0,106,5,0,124,0,0,
+ 131,1,0,131,1,0,1,124,3,0,83,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,184,0,0,
+ 0,218,6,101,120,116,101,110,100,114,17,0,0,0,114,190,
+ 0,0,0,90,5,100,117,109,112,115,41,4,114,193,0,0,
+ 0,114,182,0,0,0,114,188,0,0,0,114,53,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 17,95,99,111,100,101,95,116,111,95,98,121,116,101,99,111,
+ 100,101,155,2,0,0,115,10,0,0,0,0,3,12,1,19,
+ 1,19,1,22,1,114,197,0,0,0,99,1,0,0,0,0,
+ 0,0,0,5,0,0,0,4,0,0,0,67,0,0,0,115,
+ 89,0,0,0,100,1,0,100,2,0,108,0,0,125,1,0,
+ 116,1,0,106,2,0,124,0,0,131,1,0,106,3,0,125,
+ 2,0,124,1,0,106,4,0,124,2,0,131,1,0,125,3,
+ 0,116,1,0,106,5,0,100,2,0,100,3,0,131,2,0,
+ 125,4,0,124,4,0,106,6,0,124,0,0,106,6,0,124,
+ 3,0,100,1,0,25,131,1,0,131,1,0,83,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,84,0,0,0,78,
+ 84,41,7,218,8,116,111,107,101,110,105,122,101,114,49,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,198,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,5,0,0,0,218,
- 12,95,109,111,100,117,108,101,95,114,101,112,114,178,2,0,
+ 13,100,101,99,111,100,101,95,115,111,117,114,99,101,165,2,
+ 0,0,115,10,0,0,0,0,5,12,1,18,1,15,1,18,
+ 1,114,202,0,0,0,99,1,0,0,0,0,0,0,0,5,
+ 0,0,0,35,0,0,0,67,0,0,0,115,6,1,0,0,
+ 116,0,0,124,0,0,100,1,0,100,0,0,131,3,0,125,
+ 1,0,116,1,0,124,1,0,100,2,0,131,2,0,114,71,
+ 0,121,17,0,124,1,0,106,2,0,124,0,0,131,1,0,
+ 83,87,110,18,0,4,116,3,0,107,10,0,114,70,0,1,
+ 1,1,89,110,1,0,88,121,13,0,124,0,0,106,4,0,
+ 125,2,0,87,110,18,0,4,116,5,0,107,10,0,114,104,
+ 0,1,1,1,89,110,23,0,88,124,2,0,100,0,0,107,
+ 9,0,114,127,0,116,6,0,124,2,0,131,1,0,83,121,
+ 13,0,124,0,0,106,7,0,125,3,0,87,110,24,0,4,
+ 116,5,0,107,10,0,114,166,0,1,1,1,100,3,0,125,
+ 3,0,89,110,1,0,88,121,13,0,124,0,0,106,8,0,
+ 125,4,0,87,110,59,0,4,116,5,0,107,10,0,114,241,
+ 0,1,1,1,124,1,0,100,0,0,107,8,0,114,221,0,
+ 100,4,0,106,9,0,124,3,0,131,1,0,83,100,5,0,
+ 106,9,0,124,3,0,124,1,0,131,2,0,83,89,110,17,
+ 0,88,100,6,0,106,9,0,124,3,0,124,4,0,131,2,
+ 0,83,100,0,0,83,41,7,78,218,10,95,95,108,111,97,
+ 100,101,114,95,95,218,11,109,111,100,117,108,101,95,114,101,
+ 112,114,250,1,63,122,13,60,109,111,100,117,108,101,32,123,
+ 33,114,125,62,122,20,60,109,111,100,117,108,101,32,123,33,
+ 114,125,32,40,123,33,114,125,41,62,122,23,60,109,111,100,
+ 117,108,101,32,123,33,114,125,32,102,114,111,109,32,123,33,
+ 114,125,62,41,10,114,62,0,0,0,114,60,0,0,0,114,
+ 204,0,0,0,218,9,69,120,99,101,112,116,105,111,110,218,
+ 8,95,95,115,112,101,99,95,95,218,14,65,116,116,114,105,
+ 98,117,116,101,69,114,114,111,114,218,22,95,109,111,100,117,
+ 108,101,95,114,101,112,114,95,102,114,111,109,95,115,112,101,
+ 99,114,57,0,0,0,218,8,95,95,102,105,108,101,95,95,
+ 114,47,0,0,0,41,5,114,178,0,0,0,114,170,0,0,
+ 0,114,177,0,0,0,114,67,0,0,0,114,131,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 12,95,109,111,100,117,108,101,95,114,101,112,114,179,2,0,
0,115,46,0,0,0,0,2,18,1,15,4,3,1,17,1,
- 13,1,8,1,3,1,13,1,13,1,5,2,12,1,16,4,
+ 13,1,5,1,3,1,13,1,13,1,5,2,12,1,10,4,
3,1,13,1,13,1,11,1,3,1,13,1,13,1,12,1,
- 13,2,21,2,114,212,0,0,0,99,0,0,0,0,0,0,
+ 13,2,21,2,114,211,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,52,
0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,
1,0,100,2,0,132,0,0,90,3,0,100,3,0,100,4,
@@ -1272,21 +1270,21 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
0,115,25,0,0,0,124,1,0,124,0,0,95,0,0,124,
1,0,106,1,0,124,0,0,95,2,0,100,0,0,83,41,
- 1,78,41,3,218,7,95,109,111,100,117,108,101,114,209,0,
+ 1,78,41,3,218,7,95,109,111,100,117,108,101,114,207,0,
0,0,218,5,95,115,112,101,99,41,2,114,71,0,0,0,
- 114,180,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,72,0,0,0,216,2,0,0,115,4,0,
+ 114,178,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,72,0,0,0,217,2,0,0,115,4,0,
0,0,0,1,9,1,122,26,95,105,110,115,116,97,108,108,
101,100,95,115,97,102,101,108,121,46,95,95,105,110,105,116,
95,95,99,1,0,0,0,0,0,0,0,1,0,0,0,3,
0,0,0,67,0,0,0,115,38,0,0,0,100,1,0,124,
0,0,106,0,0,95,1,0,124,0,0,106,2,0,116,3,
0,106,4,0,124,0,0,106,0,0,106,5,0,60,100,0,
- 0,83,41,2,78,84,41,6,114,215,0,0,0,218,13,95,
- 105,110,105,116,105,97,108,105,122,105,110,103,114,214,0,0,
+ 0,83,41,2,78,84,41,6,114,214,0,0,0,218,13,95,
+ 105,110,105,116,105,97,108,105,122,105,110,103,114,213,0,0,
0,114,7,0,0,0,114,73,0,0,0,114,67,0,0,0,
41,1,114,71,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,75,0,0,0,220,2,0,0,115,
+ 0,114,5,0,0,0,114,75,0,0,0,221,2,0,0,115,
4,0,0,0,0,4,12,1,122,27,95,105,110,115,116,97,
108,108,101,100,95,115,97,102,101,108,121,46,95,95,101,110,
116,101,114,95,95,99,1,0,0,0,0,0,0,0,3,0,
@@ -1304,25 +1302,25 @@ const unsigned char _Py_M__importlib[] = {
0,100,0,0,107,9,0,86,1,113,3,0,100,0,0,83,
41,1,78,114,4,0,0,0,41,2,114,22,0,0,0,114,
76,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,77,0,0,0,230,2,0,0,115,2,0,0,
+ 0,0,0,114,77,0,0,0,231,2,0,0,115,2,0,0,
0,6,0,122,45,95,105,110,115,116,97,108,108,101,100,95,
115,97,102,101,108,121,46,95,95,101,120,105,116,95,95,46,
60,108,111,99,97,108,115,62,46,60,103,101,110,101,120,112,
114,62,122,18,105,109,112,111,114,116,32,123,33,114,125,32,
- 35,32,123,33,114,125,70,41,9,114,215,0,0,0,114,78,
+ 35,32,123,33,114,125,70,41,9,114,214,0,0,0,114,78,
0,0,0,114,7,0,0,0,114,73,0,0,0,114,67,0,
0,0,114,79,0,0,0,114,153,0,0,0,114,170,0,0,
- 0,114,216,0,0,0,41,3,114,71,0,0,0,114,80,0,
- 0,0,114,178,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,81,0,0,0,227,2,0,0,115,
+ 0,114,215,0,0,0,41,3,114,71,0,0,0,114,80,0,
+ 0,0,114,177,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,114,81,0,0,0,228,2,0,0,115,
18,0,0,0,0,1,3,1,9,1,25,1,3,1,17,1,
13,1,8,2,26,2,122,26,95,105,110,115,116,97,108,108,
101,100,95,115,97,102,101,108,121,46,95,95,101,120,105,116,
95,95,78,41,6,114,57,0,0,0,114,56,0,0,0,114,
58,0,0,0,114,72,0,0,0,114,75,0,0,0,114,81,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,213,0,0,0,214,2,0,0,
- 115,6,0,0,0,12,2,12,4,12,7,114,213,0,0,0,
+ 0,0,114,5,0,0,0,114,212,0,0,0,215,2,0,0,
+ 115,6,0,0,0,12,2,12,4,12,7,114,212,0,0,0,
99,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,
0,64,0,0,0,115,172,0,0,0,101,0,0,90,1,0,
100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,100,
@@ -1439,2319 +1437,2244 @@ const unsigned char _Py_M__importlib[] = {
103,0,0,110,3,0,100,0,0,124,0,0,95,4,0,100,
1,0,124,0,0,95,5,0,100,0,0,124,0,0,95,6,
0,100,0,0,83,41,2,78,70,41,7,114,67,0,0,0,
- 114,170,0,0,0,114,218,0,0,0,114,219,0,0,0,218,
+ 114,170,0,0,0,114,217,0,0,0,114,218,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,218,13,95,115,101,
116,95,102,105,108,101,97,116,116,114,218,7,95,99,97,99,
104,101,100,41,6,114,71,0,0,0,114,67,0,0,0,114,
- 170,0,0,0,114,218,0,0,0,114,219,0,0,0,114,220,
+ 170,0,0,0,114,217,0,0,0,114,218,0,0,0,114,219,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,72,0,0,0,22,3,0,0,115,14,0,0,0,
+ 0,0,114,72,0,0,0,23,3,0,0,115,14,0,0,0,
0,2,9,1,9,1,9,1,9,1,21,3,9,1,122,19,
77,111,100,117,108,101,83,112,101,99,46,95,95,105,110,105,
116,95,95,99,1,0,0,0,0,0,0,0,2,0,0,0,
- 4,0,0,0,67,0,0,0,115,153,0,0,0,100,1,0,
+ 4,0,0,0,67,0,0,0,115,147,0,0,0,100,1,0,
106,0,0,124,0,0,106,1,0,131,1,0,100,2,0,106,
0,0,124,0,0,106,2,0,131,1,0,103,2,0,125,1,
- 0,124,0,0,106,3,0,100,0,0,107,9,0,114,79,0,
+ 0,124,0,0,106,3,0,100,0,0,107,9,0,114,76,0,
124,1,0,106,4,0,100,3,0,106,0,0,124,0,0,106,
- 3,0,131,1,0,131,1,0,1,110,0,0,124,0,0,106,
- 5,0,100,0,0,107,9,0,114,122,0,124,1,0,106,4,
- 0,100,4,0,106,0,0,124,0,0,106,5,0,131,1,0,
- 131,1,0,1,110,0,0,100,5,0,106,0,0,124,0,0,
- 106,6,0,106,7,0,100,6,0,106,8,0,124,1,0,131,
- 1,0,131,2,0,83,41,7,78,122,9,110,97,109,101,61,
- 123,33,114,125,122,11,108,111,97,100,101,114,61,123,33,114,
- 125,122,11,111,114,105,103,105,110,61,123,33,114,125,122,29,
- 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,61,123,125,122,6,123,
- 125,40,123,125,41,122,2,44,32,41,9,114,47,0,0,0,
- 114,67,0,0,0,114,170,0,0,0,114,218,0,0,0,218,
- 6,97,112,112,101,110,100,114,221,0,0,0,218,9,95,95,
- 99,108,97,115,115,95,95,114,57,0,0,0,114,26,0,0,
- 0,41,2,114,71,0,0,0,114,80,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,101,0,0,
- 0,34,3,0,0,115,16,0,0,0,0,1,15,1,21,1,
- 15,1,28,1,15,1,12,1,16,1,122,19,77,111,100,117,
- 108,101,83,112,101,99,46,95,95,114,101,112,114,95,95,99,
- 2,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,
- 67,0,0,0,115,145,0,0,0,124,0,0,106,0,0,125,
- 2,0,121,107,0,124,0,0,106,1,0,124,1,0,106,1,
- 0,107,2,0,111,114,0,124,0,0,106,2,0,124,1,0,
- 106,2,0,107,2,0,111,114,0,124,0,0,106,3,0,124,
- 1,0,106,3,0,107,2,0,111,114,0,124,2,0,124,1,
- 0,106,0,0,107,2,0,111,114,0,124,0,0,106,4,0,
- 124,1,0,106,4,0,107,2,0,111,114,0,124,0,0,106,
- 5,0,124,1,0,106,5,0,107,2,0,83,87,110,22,0,
- 4,116,6,0,107,10,0,114,140,0,1,1,1,100,1,0,
- 83,89,110,1,0,88,100,0,0,83,41,2,78,70,41,7,
- 114,221,0,0,0,114,67,0,0,0,114,170,0,0,0,114,
- 218,0,0,0,218,6,99,97,99,104,101,100,218,12,104,97,
- 115,95,108,111,99,97,116,105,111,110,114,210,0,0,0,41,
- 3,114,71,0,0,0,218,5,111,116,104,101,114,218,4,115,
- 109,115,108,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,6,95,95,101,113,95,95,44,3,0,0,115,20,
- 0,0,0,0,1,9,1,3,1,18,1,18,1,18,1,15,
- 1,18,1,20,1,13,1,122,17,77,111,100,117,108,101,83,
- 112,101,99,46,95,95,101,113,95,95,99,1,0,0,0,0,
- 0,0,0,2,0,0,0,11,0,0,0,67,0,0,0,115,
- 158,0,0,0,124,0,0,106,0,0,100,0,0,107,8,0,
- 114,151,0,124,0,0,106,1,0,100,0,0,107,9,0,114,
- 151,0,124,0,0,106,2,0,114,151,0,124,0,0,106,1,
- 0,125,1,0,124,1,0,106,3,0,116,4,0,116,5,0,
- 131,1,0,131,1,0,114,112,0,121,19,0,116,6,0,124,
- 1,0,131,1,0,124,0,0,95,0,0,87,113,145,0,4,
- 116,7,0,107,10,0,114,108,0,1,1,1,89,113,145,0,
- 88,113,148,0,124,1,0,106,3,0,116,4,0,116,8,0,
- 131,1,0,131,1,0,114,148,0,124,1,0,124,0,0,95,
- 0,0,113,148,0,113,151,0,110,0,0,124,0,0,106,0,
- 0,83,41,1,78,41,9,114,223,0,0,0,114,218,0,0,
- 0,114,222,0,0,0,218,8,101,110,100,115,119,105,116,104,
- 218,5,116,117,112,108,101,114,135,0,0,0,114,132,0,0,
- 0,114,123,0,0,0,218,17,66,89,84,69,67,79,68,69,
- 95,83,85,70,70,73,88,69,83,41,2,114,71,0,0,0,
- 114,131,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,226,0,0,0,56,3,0,0,115,22,0,
- 0,0,0,2,15,1,24,1,9,1,21,1,3,1,19,1,
- 13,1,8,1,21,1,18,1,122,17,77,111,100,117,108,101,
- 83,112,101,99,46,99,97,99,104,101,100,99,2,0,0,0,
- 0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,
- 115,13,0,0,0,124,1,0,124,0,0,95,0,0,100,0,
- 0,83,41,1,78,41,1,114,223,0,0,0,41,2,114,71,
- 0,0,0,114,226,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,226,0,0,0,70,3,0,0,
- 115,2,0,0,0,0,2,99,1,0,0,0,0,0,0,0,
- 1,0,0,0,2,0,0,0,67,0,0,0,115,46,0,0,
- 0,124,0,0,106,0,0,100,1,0,107,8,0,114,35,0,
- 124,0,0,106,1,0,106,2,0,100,2,0,131,1,0,100,
- 3,0,25,83,124,0,0,106,1,0,83,100,1,0,83,41,
- 4,122,32,84,104,101,32,110,97,109,101,32,111,102,32,116,
- 104,101,32,109,111,100,117,108,101,39,115,32,112,97,114,101,
- 110,116,46,78,114,116,0,0,0,114,84,0,0,0,41,3,
- 114,221,0,0,0,114,67,0,0,0,114,32,0,0,0,41,
- 1,114,71,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,218,6,112,97,114,101,110,116,74,3,0,
- 0,115,6,0,0,0,0,3,15,1,20,2,122,17,77,111,
- 100,117,108,101,83,112,101,99,46,112,97,114,101,110,116,99,
- 1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,
- 67,0,0,0,115,7,0,0,0,124,0,0,106,0,0,83,
- 41,1,78,41,1,114,222,0,0,0,41,1,114,71,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,227,0,0,0,82,3,0,0,115,2,0,0,0,0,2,
- 122,23,77,111,100,117,108,101,83,112,101,99,46,104,97,115,
- 95,108,111,99,97,116,105,111,110,99,2,0,0,0,0,0,
- 0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,19,
- 0,0,0,116,0,0,124,1,0,131,1,0,124,0,0,95,
- 1,0,100,0,0,83,41,1,78,41,2,218,4,98,111,111,
- 108,114,222,0,0,0,41,2,114,71,0,0,0,218,5,118,
- 97,108,117,101,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,227,0,0,0,86,3,0,0,115,2,0,0,
- 0,0,2,41,12,114,57,0,0,0,114,56,0,0,0,114,
- 58,0,0,0,114,59,0,0,0,114,72,0,0,0,114,101,
- 0,0,0,114,230,0,0,0,218,8,112,114,111,112,101,114,
- 116,121,114,226,0,0,0,218,6,115,101,116,116,101,114,114,
- 234,0,0,0,114,227,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,114,217,0,
- 0,0,241,2,0,0,115,20,0,0,0,12,35,6,2,15,
- 1,15,11,12,10,12,12,18,14,21,4,18,8,18,4,114,
- 217,0,0,0,114,218,0,0,0,114,220,0,0,0,99,2,
- 0,0,0,2,0,0,0,5,0,0,0,15,0,0,0,67,
- 0,0,0,115,193,0,0,0,116,0,0,124,1,0,100,1,
- 0,131,2,0,114,83,0,124,3,0,100,2,0,107,8,0,
- 114,43,0,116,1,0,124,0,0,100,3,0,124,1,0,131,
- 1,1,83,124,3,0,114,55,0,103,0,0,110,3,0,100,
- 2,0,125,4,0,116,1,0,124,0,0,100,3,0,124,1,
- 0,100,4,0,124,4,0,131,1,2,83,124,3,0,100,2,
- 0,107,8,0,114,168,0,116,0,0,124,1,0,100,5,0,
- 131,2,0,114,159,0,121,19,0,124,1,0,106,2,0,124,
- 0,0,131,1,0,125,3,0,87,113,165,0,4,116,3,0,
- 107,10,0,114,155,0,1,1,1,100,2,0,125,3,0,89,
- 113,165,0,88,113,168,0,100,6,0,125,3,0,110,0,0,
- 116,4,0,124,0,0,124,1,0,100,7,0,124,2,0,100,
- 5,0,124,3,0,131,2,2,83,41,8,122,53,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,118,97,114,105,111,
- 117,115,32,108,111,97,100,101,114,32,109,101,116,104,111,100,
- 115,46,218,12,103,101,116,95,102,105,108,101,110,97,109,101,
- 78,114,170,0,0,0,114,221,0,0,0,114,220,0,0,0,
- 70,114,218,0,0,0,41,5,114,60,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,114,220,0,0,0,114,154,0,0,0,
- 114,217,0,0,0,41,5,114,67,0,0,0,114,170,0,0,
- 0,114,218,0,0,0,114,220,0,0,0,90,6,115,101,97,
- 114,99,104,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,174,0,0,0,91,3,0,0,115,28,0,0,0,
- 0,2,15,1,12,1,16,1,18,1,15,1,7,2,12,1,
- 15,1,3,1,19,1,13,1,14,3,9,2,114,174,0,0,
- 0,114,170,0,0,0,114,221,0,0,0,99,2,0,0,0,
- 2,0,0,0,9,0,0,0,19,0,0,0,67,0,0,0,
- 115,110,1,0,0,124,1,0,100,1,0,107,8,0,114,79,
- 0,100,2,0,125,1,0,116,0,0,124,2,0,100,3,0,
- 131,2,0,114,79,0,121,19,0,124,2,0,106,1,0,124,
- 0,0,131,1,0,125,1,0,87,113,76,0,4,116,2,0,
- 107,10,0,114,72,0,1,1,1,89,113,76,0,88,113,79,
- 0,110,0,0,116,3,0,124,0,0,124,2,0,100,4,0,
- 124,1,0,131,2,1,125,4,0,100,5,0,124,4,0,95,
- 4,0,124,2,0,100,1,0,107,8,0,114,203,0,120,79,
- 0,116,5,0,131,0,0,68,93,61,0,92,2,0,125,5,
- 0,125,6,0,124,1,0,106,6,0,116,7,0,124,6,0,
- 131,1,0,131,1,0,114,131,0,124,5,0,124,0,0,124,
- 1,0,131,2,0,125,2,0,124,2,0,124,4,0,95,8,
- 0,80,113,131,0,113,131,0,87,100,1,0,83,110,0,0,
- 124,3,0,116,9,0,107,8,0,114,38,1,116,0,0,124,
- 2,0,100,6,0,131,2,0,114,47,1,121,19,0,124,2,
- 0,106,10,0,124,0,0,131,1,0,125,7,0,87,110,18,
- 0,4,116,2,0,107,10,0,114,13,1,1,1,1,89,113,
- 35,1,88,124,7,0,114,35,1,103,0,0,124,4,0,95,
- 11,0,113,35,1,113,47,1,110,9,0,124,3,0,124,4,
- 0,95,11,0,124,4,0,106,11,0,103,0,0,107,2,0,
- 114,106,1,124,1,0,114,106,1,116,12,0,124,1,0,131,
- 1,0,100,7,0,25,125,8,0,124,4,0,106,11,0,106,
- 13,0,124,8,0,131,1,0,1,113,106,1,110,0,0,124,
- 4,0,83,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,114,239,0,0,0,114,218,0,0,0,84,114,220,
- 0,0,0,114,84,0,0,0,41,14,114,60,0,0,0,114,
- 239,0,0,0,114,154,0,0,0,114,217,0,0,0,114,222,
- 0,0,0,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,231,0,0,0,114,232,0,0,0,114,170,0,0,0,218,
- 9,95,80,79,80,85,76,65,84,69,114,220,0,0,0,114,
- 221,0,0,0,114,38,0,0,0,114,224,0,0,0,41,9,
- 114,67,0,0,0,218,8,108,111,99,97,116,105,111,110,114,
- 170,0,0,0,114,221,0,0,0,114,178,0,0,0,218,12,
- 108,111,97,100,101,114,95,99,108,97,115,115,114,126,0,0,
- 0,114,220,0,0,0,90,7,100,105,114,110,97,109,101,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,240,
- 0,0,0,116,3,0,0,115,60,0,0,0,0,12,12,4,
- 6,1,15,2,3,1,19,1,13,1,11,8,21,1,9,3,
- 12,1,22,1,21,1,15,1,9,1,8,2,7,3,12,2,
- 15,1,3,1,19,1,13,1,5,2,6,1,18,2,9,1,
- 15,1,6,1,16,1,22,2,114,240,0,0,0,99,3,0,
- 0,0,0,0,0,0,8,0,0,0,53,0,0,0,67,0,
- 0,0,115,124,1,0,0,121,13,0,124,0,0,106,0,0,
- 125,3,0,87,110,18,0,4,116,1,0,107,10,0,114,33,
- 0,1,1,1,89,110,17,0,88,124,3,0,100,0,0,107,
- 9,0,114,50,0,124,3,0,83,124,0,0,106,2,0,125,
- 4,0,124,1,0,100,0,0,107,8,0,114,108,0,121,13,
- 0,124,0,0,106,3,0,125,1,0,87,113,108,0,4,116,
- 1,0,107,10,0,114,104,0,1,1,1,89,113,108,0,88,
- 110,0,0,121,13,0,124,0,0,106,4,0,125,5,0,87,
- 110,24,0,4,116,1,0,107,10,0,114,147,0,1,1,1,
- 100,0,0,125,5,0,89,110,1,0,88,124,2,0,100,0,
- 0,107,8,0,114,224,0,124,5,0,100,0,0,107,8,0,
- 114,215,0,121,13,0,124,1,0,106,5,0,125,2,0,87,
- 113,221,0,4,116,1,0,107,10,0,114,211,0,1,1,1,
- 100,0,0,125,2,0,89,113,221,0,88,113,224,0,124,5,
- 0,125,2,0,110,0,0,121,13,0,124,0,0,106,6,0,
- 125,6,0,87,110,24,0,4,116,1,0,107,10,0,114,7,
+ 3,0,131,1,0,131,1,0,1,124,0,0,106,5,0,100,
+ 0,0,107,9,0,114,116,0,124,1,0,106,4,0,100,4,
+ 0,106,0,0,124,0,0,106,5,0,131,1,0,131,1,0,
+ 1,100,5,0,106,0,0,124,0,0,106,6,0,106,7,0,
+ 100,6,0,106,8,0,124,1,0,131,1,0,131,2,0,83,
+ 41,7,78,122,9,110,97,109,101,61,123,33,114,125,122,11,
+ 108,111,97,100,101,114,61,123,33,114,125,122,11,111,114,105,
+ 103,105,110,61,123,33,114,125,122,29,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,61,123,125,122,6,123,125,40,123,125,41,122,
+ 2,44,32,41,9,114,47,0,0,0,114,67,0,0,0,114,
+ 170,0,0,0,114,217,0,0,0,218,6,97,112,112,101,110,
+ 100,114,220,0,0,0,218,9,95,95,99,108,97,115,115,95,
+ 95,114,57,0,0,0,114,26,0,0,0,41,2,114,71,0,
+ 0,0,114,80,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,114,101,0,0,0,35,3,0,0,115,
+ 16,0,0,0,0,1,15,1,21,1,15,1,25,1,15,1,
+ 12,1,13,1,122,19,77,111,100,117,108,101,83,112,101,99,
+ 46,95,95,114,101,112,114,95,95,99,2,0,0,0,0,0,
+ 0,0,3,0,0,0,11,0,0,0,67,0,0,0,115,145,
+ 0,0,0,124,0,0,106,0,0,125,2,0,121,107,0,124,
+ 0,0,106,1,0,124,1,0,106,1,0,107,2,0,111,114,
+ 0,124,0,0,106,2,0,124,1,0,106,2,0,107,2,0,
+ 111,114,0,124,0,0,106,3,0,124,1,0,106,3,0,107,
+ 2,0,111,114,0,124,2,0,124,1,0,106,0,0,107,2,
+ 0,111,114,0,124,0,0,106,4,0,124,1,0,106,4,0,
+ 107,2,0,111,114,0,124,0,0,106,5,0,124,1,0,106,
+ 5,0,107,2,0,83,87,110,22,0,4,116,6,0,107,10,
+ 0,114,140,0,1,1,1,100,1,0,83,89,110,1,0,88,
+ 100,0,0,83,41,2,78,70,41,7,114,220,0,0,0,114,
+ 67,0,0,0,114,170,0,0,0,114,217,0,0,0,218,6,
+ 99,97,99,104,101,100,218,12,104,97,115,95,108,111,99,97,
+ 116,105,111,110,114,208,0,0,0,41,3,114,71,0,0,0,
+ 218,5,111,116,104,101,114,218,4,115,109,115,108,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,218,6,95,95,
+ 101,113,95,95,45,3,0,0,115,20,0,0,0,0,1,9,
+ 1,3,1,18,1,18,1,18,1,15,1,18,1,20,1,13,
+ 1,122,17,77,111,100,117,108,101,83,112,101,99,46,95,95,
+ 101,113,95,95,99,1,0,0,0,0,0,0,0,2,0,0,
+ 0,11,0,0,0,67,0,0,0,115,149,0,0,0,124,0,
+ 0,106,0,0,100,0,0,107,8,0,114,142,0,124,0,0,
+ 106,1,0,100,0,0,107,9,0,114,142,0,124,0,0,106,
+ 2,0,114,142,0,124,0,0,106,1,0,125,1,0,124,1,
+ 0,106,3,0,116,4,0,116,5,0,131,1,0,131,1,0,
+ 114,112,0,121,19,0,116,6,0,124,1,0,131,1,0,124,
+ 0,0,95,0,0,87,113,142,0,4,116,7,0,107,10,0,
+ 114,108,0,1,1,1,89,113,142,0,88,110,30,0,124,1,
+ 0,106,3,0,116,4,0,116,8,0,131,1,0,131,1,0,
+ 114,142,0,124,1,0,124,0,0,95,0,0,124,0,0,106,
+ 0,0,83,41,1,78,41,9,114,222,0,0,0,114,217,0,
+ 0,0,114,221,0,0,0,218,8,101,110,100,115,119,105,116,
+ 104,218,5,116,117,112,108,101,114,135,0,0,0,114,132,0,
+ 0,0,114,123,0,0,0,218,17,66,89,84,69,67,79,68,
+ 69,95,83,85,70,70,73,88,69,83,41,2,114,71,0,0,
+ 0,114,131,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,114,225,0,0,0,57,3,0,0,115,22,
+ 0,0,0,0,2,15,1,24,1,9,1,21,1,3,1,19,
+ 1,13,1,8,1,21,1,9,1,122,17,77,111,100,117,108,
+ 101,83,112,101,99,46,99,97,99,104,101,100,99,2,0,0,
+ 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
+ 0,115,13,0,0,0,124,1,0,124,0,0,95,0,0,100,
+ 0,0,83,41,1,78,41,1,114,222,0,0,0,41,2,114,
+ 71,0,0,0,114,225,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,225,0,0,0,71,3,0,
+ 0,115,2,0,0,0,0,2,99,1,0,0,0,0,0,0,
+ 0,1,0,0,0,2,0,0,0,67,0,0,0,115,46,0,
+ 0,0,124,0,0,106,0,0,100,1,0,107,8,0,114,35,
+ 0,124,0,0,106,1,0,106,2,0,100,2,0,131,1,0,
+ 100,3,0,25,83,124,0,0,106,1,0,83,100,1,0,83,
+ 41,4,122,32,84,104,101,32,110,97,109,101,32,111,102,32,
+ 116,104,101,32,109,111,100,117,108,101,39,115,32,112,97,114,
+ 101,110,116,46,78,114,116,0,0,0,114,84,0,0,0,41,
+ 3,114,220,0,0,0,114,67,0,0,0,114,32,0,0,0,
+ 41,1,114,71,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,218,6,112,97,114,101,110,116,75,3,
+ 0,0,115,6,0,0,0,0,3,15,1,20,2,122,17,77,
+ 111,100,117,108,101,83,112,101,99,46,112,97,114,101,110,116,
+ 99,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,
+ 0,67,0,0,0,115,7,0,0,0,124,0,0,106,0,0,
+ 83,41,1,78,41,1,114,221,0,0,0,41,1,114,71,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,226,0,0,0,83,3,0,0,115,2,0,0,0,0,
+ 2,122,23,77,111,100,117,108,101,83,112,101,99,46,104,97,
+ 115,95,108,111,99,97,116,105,111,110,99,2,0,0,0,0,
+ 0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,
+ 19,0,0,0,116,0,0,124,1,0,131,1,0,124,0,0,
+ 95,1,0,100,0,0,83,41,1,78,41,2,218,4,98,111,
+ 111,108,114,221,0,0,0,41,2,114,71,0,0,0,218,5,
+ 118,97,108,117,101,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,226,0,0,0,87,3,0,0,115,2,0,
+ 0,0,0,2,41,12,114,57,0,0,0,114,56,0,0,0,
+ 114,58,0,0,0,114,59,0,0,0,114,72,0,0,0,114,
+ 101,0,0,0,114,229,0,0,0,218,8,112,114,111,112,101,
+ 114,116,121,114,225,0,0,0,218,6,115,101,116,116,101,114,
+ 114,233,0,0,0,114,226,0,0,0,114,4,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,216,
+ 0,0,0,242,2,0,0,115,20,0,0,0,12,35,6,2,
+ 15,1,15,11,12,10,12,12,18,14,21,4,18,8,18,4,
+ 114,216,0,0,0,114,217,0,0,0,114,219,0,0,0,99,
+ 2,0,0,0,2,0,0,0,5,0,0,0,15,0,0,0,
+ 67,0,0,0,115,190,0,0,0,116,0,0,124,1,0,100,
+ 1,0,131,2,0,114,83,0,124,3,0,100,2,0,107,8,
+ 0,114,43,0,116,1,0,124,0,0,100,3,0,124,1,0,
+ 131,1,1,83,124,3,0,114,55,0,103,0,0,110,3,0,
+ 100,2,0,125,4,0,116,1,0,124,0,0,100,3,0,124,
+ 1,0,100,4,0,124,4,0,131,1,2,83,124,3,0,100,
+ 2,0,107,8,0,114,165,0,116,0,0,124,1,0,100,5,
+ 0,131,2,0,114,159,0,121,19,0,124,1,0,106,2,0,
+ 124,0,0,131,1,0,125,3,0,87,113,165,0,4,116,3,
+ 0,107,10,0,114,155,0,1,1,1,100,2,0,125,3,0,
+ 89,113,165,0,88,110,6,0,100,6,0,125,3,0,116,4,
+ 0,124,0,0,124,1,0,100,7,0,124,2,0,100,5,0,
+ 124,3,0,131,2,2,83,41,8,122,53,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,118,97,114,105,111,117,115,
+ 32,108,111,97,100,101,114,32,109,101,116,104,111,100,115,46,
+ 218,12,103,101,116,95,102,105,108,101,110,97,109,101,78,114,
+ 170,0,0,0,114,220,0,0,0,114,219,0,0,0,70,114,
+ 217,0,0,0,41,5,114,60,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,114,219,0,0,0,114,154,0,0,0,114,216,
+ 0,0,0,41,5,114,67,0,0,0,114,170,0,0,0,114,
+ 217,0,0,0,114,219,0,0,0,90,6,115,101,97,114,99,
+ 104,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 114,174,0,0,0,92,3,0,0,115,28,0,0,0,0,2,
+ 15,1,12,1,16,1,18,1,15,1,7,2,12,1,15,1,
+ 3,1,19,1,13,1,14,3,6,2,114,174,0,0,0,114,
+ 170,0,0,0,114,220,0,0,0,99,2,0,0,0,2,0,
+ 0,0,9,0,0,0,19,0,0,0,67,0,0,0,115,86,
+ 1,0,0,124,1,0,100,1,0,107,8,0,114,73,0,100,
+ 2,0,125,1,0,116,0,0,124,2,0,100,3,0,131,2,
+ 0,114,73,0,121,19,0,124,2,0,106,1,0,124,0,0,
+ 131,1,0,125,1,0,87,110,18,0,4,116,2,0,107,10,
+ 0,114,72,0,1,1,1,89,110,1,0,88,116,3,0,124,
+ 0,0,124,2,0,100,4,0,124,1,0,131,2,1,125,4,
+ 0,100,5,0,124,4,0,95,4,0,124,2,0,100,1,0,
+ 107,8,0,114,191,0,120,73,0,116,5,0,131,0,0,68,
+ 93,58,0,92,2,0,125,5,0,125,6,0,124,1,0,106,
+ 6,0,116,7,0,124,6,0,131,1,0,131,1,0,114,125,
+ 0,124,5,0,124,0,0,124,1,0,131,2,0,125,2,0,
+ 124,2,0,124,4,0,95,8,0,80,113,125,0,87,100,1,
+ 0,83,124,3,0,116,9,0,107,8,0,114,20,1,116,0,
+ 0,124,2,0,100,6,0,131,2,0,114,29,1,121,19,0,
+ 124,2,0,106,10,0,124,0,0,131,1,0,125,7,0,87,
+ 110,18,0,4,116,2,0,107,10,0,114,1,1,1,1,1,
+ 89,113,29,1,88,124,7,0,114,29,1,103,0,0,124,4,
+ 0,95,11,0,110,9,0,124,3,0,124,4,0,95,11,0,
+ 124,4,0,106,11,0,103,0,0,107,2,0,114,82,1,124,
+ 1,0,114,82,1,116,12,0,124,1,0,131,1,0,100,7,
+ 0,25,125,8,0,124,4,0,106,11,0,106,13,0,124,8,
+ 0,131,1,0,1,124,4,0,83,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,114,238,0,0,0,114,217,
+ 0,0,0,84,114,219,0,0,0,114,84,0,0,0,41,14,
+ 114,60,0,0,0,114,238,0,0,0,114,154,0,0,0,114,
+ 216,0,0,0,114,221,0,0,0,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,230,0,0,0,114,231,0,0,0,
+ 114,170,0,0,0,218,9,95,80,79,80,85,76,65,84,69,
+ 114,219,0,0,0,114,220,0,0,0,114,38,0,0,0,114,
+ 223,0,0,0,41,9,114,67,0,0,0,218,8,108,111,99,
+ 97,116,105,111,110,114,170,0,0,0,114,220,0,0,0,114,
+ 177,0,0,0,218,12,108,111,97,100,101,114,95,99,108,97,
+ 115,115,114,126,0,0,0,114,219,0,0,0,90,7,100,105,
+ 114,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,239,0,0,0,117,3,0,0,115,60,0,
+ 0,0,0,12,12,4,6,1,15,2,3,1,19,1,13,1,
+ 5,8,21,1,9,3,12,1,22,1,21,1,15,1,9,1,
+ 5,2,4,3,12,2,15,1,3,1,19,1,13,1,5,2,
+ 6,1,12,2,9,1,15,1,6,1,16,1,16,2,114,239,
+ 0,0,0,99,3,0,0,0,0,0,0,0,8,0,0,0,
+ 53,0,0,0,67,0,0,0,115,118,1,0,0,121,13,0,
+ 124,0,0,106,0,0,125,3,0,87,110,18,0,4,116,1,
+ 0,107,10,0,114,33,0,1,1,1,89,110,17,0,88,124,
+ 3,0,100,0,0,107,9,0,114,50,0,124,3,0,83,124,
+ 0,0,106,2,0,125,4,0,124,1,0,100,0,0,107,8,
+ 0,114,105,0,121,13,0,124,0,0,106,3,0,125,1,0,
+ 87,110,18,0,4,116,1,0,107,10,0,114,104,0,1,1,
+ 1,89,110,1,0,88,121,13,0,124,0,0,106,4,0,125,
+ 5,0,87,110,24,0,4,116,1,0,107,10,0,114,144,0,
+ 1,1,1,100,0,0,125,5,0,89,110,1,0,88,124,2,
+ 0,100,0,0,107,8,0,114,218,0,124,5,0,100,0,0,
+ 107,8,0,114,212,0,121,13,0,124,1,0,106,5,0,125,
+ 2,0,87,113,218,0,4,116,1,0,107,10,0,114,208,0,
+ 1,1,1,100,0,0,125,2,0,89,113,218,0,88,110,6,
+ 0,124,5,0,125,2,0,121,13,0,124,0,0,106,6,0,
+ 125,6,0,87,110,24,0,4,116,1,0,107,10,0,114,1,
1,1,1,1,100,0,0,125,6,0,89,110,1,0,88,121,
19,0,116,7,0,124,0,0,106,8,0,131,1,0,125,7,
- 0,87,110,24,0,4,116,1,0,107,10,0,114,53,1,1,
+ 0,87,110,24,0,4,116,1,0,107,10,0,114,47,1,1,
1,1,100,0,0,125,7,0,89,110,1,0,88,116,9,0,
124,4,0,124,1,0,100,1,0,124,2,0,131,2,1,125,
- 3,0,124,5,0,100,0,0,107,8,0,114,93,1,100,2,
+ 3,0,124,5,0,100,0,0,107,8,0,114,87,1,100,2,
0,110,3,0,100,3,0,124,3,0,95,10,0,124,6,0,
124,3,0,95,11,0,124,7,0,124,3,0,95,12,0,124,
- 3,0,83,41,4,78,114,218,0,0,0,70,84,41,13,114,
- 209,0,0,0,114,210,0,0,0,114,57,0,0,0,114,205,
- 0,0,0,114,211,0,0,0,90,7,95,79,82,73,71,73,
+ 3,0,83,41,4,78,114,217,0,0,0,70,84,41,13,114,
+ 207,0,0,0,114,208,0,0,0,114,57,0,0,0,114,203,
+ 0,0,0,114,210,0,0,0,90,7,95,79,82,73,71,73,
78,218,10,95,95,99,97,99,104,101,100,95,95,218,4,108,
- 105,115,116,218,8,95,95,112,97,116,104,95,95,114,217,0,
- 0,0,114,222,0,0,0,114,226,0,0,0,114,221,0,0,
- 0,41,8,114,180,0,0,0,114,170,0,0,0,114,218,0,
- 0,0,114,178,0,0,0,114,67,0,0,0,114,243,0,0,
- 0,114,226,0,0,0,114,221,0,0,0,114,4,0,0,0,
+ 105,115,116,218,8,95,95,112,97,116,104,95,95,114,216,0,
+ 0,0,114,221,0,0,0,114,225,0,0,0,114,220,0,0,
+ 0,41,8,114,178,0,0,0,114,170,0,0,0,114,217,0,
+ 0,0,114,177,0,0,0,114,67,0,0,0,114,242,0,0,
+ 0,114,225,0,0,0,114,220,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,17,95,115,112,101,
- 99,95,102,114,111,109,95,109,111,100,117,108,101,180,3,0,
+ 99,95,102,114,111,109,95,109,111,100,117,108,101,181,3,0,
0,115,72,0,0,0,0,2,3,1,13,1,13,1,5,2,
- 12,1,4,2,9,1,12,1,3,1,13,1,13,2,8,1,
+ 12,1,4,2,9,1,12,1,3,1,13,1,13,2,5,1,
3,1,13,1,13,1,11,1,12,1,12,1,3,1,13,1,
- 13,1,14,2,9,1,3,1,13,1,13,1,11,1,3,1,
- 19,1,13,1,11,2,21,1,27,1,9,1,9,1,114,248,
- 0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
- 6,0,0,0,64,0,0,0,115,142,0,0,0,101,0,0,
- 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,
- 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,
- 0,132,0,0,90,5,0,100,6,0,100,7,0,100,8,0,
- 100,9,0,100,10,0,100,11,0,132,0,2,90,6,0,100,
- 12,0,100,13,0,132,0,0,90,7,0,100,14,0,100,15,
- 0,132,0,0,90,8,0,100,16,0,100,17,0,132,0,0,
- 90,9,0,100,18,0,100,19,0,132,0,0,90,10,0,100,
- 20,0,100,21,0,132,0,0,90,11,0,100,22,0,100,23,
- 0,132,0,0,90,12,0,100,24,0,83,41,25,114,175,0,
- 0,0,122,77,67,111,110,118,101,110,105,101,110,99,101,32,
- 119,114,97,112,112,101,114,32,97,114,111,117,110,100,32,115,
- 112,101,99,32,111,98,106,101,99,116,115,32,116,111,32,112,
- 114,111,118,105,100,101,32,115,112,101,99,45,115,112,101,99,
- 105,102,105,99,10,32,32,32,32,109,101,116,104,111,100,115,
- 46,99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,
- 0,0,67,0,0,0,115,13,0,0,0,124,1,0,124,0,
- 0,95,0,0,100,0,0,83,41,1,78,41,1,114,178,0,
- 0,0,41,2,114,71,0,0,0,114,178,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,114,72,0,
- 0,0,232,3,0,0,115,2,0,0,0,0,1,122,21,95,
- 83,112,101,99,77,101,116,104,111,100,115,46,95,95,105,110,
- 105,116,95,95,99,1,0,0,0,0,0,0,0,3,0,0,
- 0,3,0,0,0,67,0,0,0,115,158,0,0,0,124,0,
- 0,106,0,0,125,1,0,124,1,0,106,1,0,100,1,0,
- 107,8,0,114,30,0,100,2,0,110,6,0,124,1,0,106,
- 1,0,125,2,0,124,1,0,106,2,0,100,1,0,107,8,
- 0,114,104,0,124,1,0,106,3,0,100,1,0,107,8,0,
- 114,82,0,100,3,0,106,4,0,124,2,0,131,1,0,83,
- 100,4,0,106,4,0,124,2,0,124,1,0,106,3,0,131,
- 2,0,83,110,50,0,124,1,0,106,5,0,114,132,0,100,
- 5,0,106,4,0,124,2,0,124,1,0,106,2,0,131,2,
- 0,83,100,6,0,106,4,0,124,1,0,106,1,0,124,1,
- 0,106,2,0,131,2,0,83,100,1,0,83,41,7,122,38,
- 82,101,116,117,114,110,32,116,104,101,32,114,101,112,114,32,
- 116,111,32,117,115,101,32,102,111,114,32,116,104,101,32,109,
- 111,100,117,108,101,46,78,114,207,0,0,0,122,13,60,109,
- 111,100,117,108,101,32,123,33,114,125,62,122,20,60,109,111,
- 100,117,108,101,32,123,33,114,125,32,40,123,33,114,125,41,
- 62,122,23,60,109,111,100,117,108,101,32,123,33,114,125,32,
- 102,114,111,109,32,123,33,114,125,62,122,18,60,109,111,100,
- 117,108,101,32,123,33,114,125,32,40,123,125,41,62,41,6,
- 114,178,0,0,0,114,67,0,0,0,114,218,0,0,0,114,
- 170,0,0,0,114,47,0,0,0,114,227,0,0,0,41,3,
- 114,71,0,0,0,114,178,0,0,0,114,67,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,206,
- 0,0,0,235,3,0,0,115,18,0,0,0,0,3,9,1,
- 30,1,15,1,15,1,13,2,22,2,9,1,19,2,122,24,
- 95,83,112,101,99,77,101,116,104,111,100,115,46,109,111,100,
- 117,108,101,95,114,101,112,114,218,9,95,111,118,101,114,114,
- 105,100,101,70,218,11,95,102,111,114,99,101,95,110,97,109,
- 101,84,99,2,0,0,0,2,0,0,0,6,0,0,0,59,
- 0,0,0,67,0,0,0,115,75,2,0,0,124,0,0,106,
- 0,0,125,4,0,124,2,0,115,45,0,124,3,0,115,45,
- 0,116,1,0,124,1,0,100,1,0,100,2,0,131,3,0,
- 100,2,0,107,8,0,114,85,0,121,16,0,124,4,0,106,
- 2,0,124,1,0,95,3,0,87,113,85,0,4,116,4,0,
- 107,10,0,114,81,0,1,1,1,89,113,85,0,88,110,0,
- 0,124,2,0,115,115,0,116,1,0,124,1,0,100,3,0,
- 100,2,0,131,3,0,100,2,0,107,8,0,114,221,0,124,
- 4,0,106,5,0,125,5,0,124,5,0,100,2,0,107,8,
- 0,114,184,0,124,4,0,106,6,0,100,2,0,107,9,0,
- 114,184,0,116,7,0,106,8,0,116,7,0,131,1,0,125,
- 5,0,124,4,0,106,6,0,124,5,0,95,9,0,113,184,
- 0,110,0,0,121,13,0,124,5,0,124,1,0,95,10,0,
- 87,113,221,0,4,116,4,0,107,10,0,114,217,0,1,1,
- 1,89,113,221,0,88,110,0,0,124,2,0,115,251,0,116,
- 1,0,124,1,0,100,4,0,100,2,0,131,3,0,100,2,
- 0,107,8,0,114,35,1,121,16,0,124,4,0,106,11,0,
- 124,1,0,95,12,0,87,113,35,1,4,116,4,0,107,10,
- 0,114,31,1,1,1,1,89,113,35,1,88,110,0,0,121,
- 13,0,124,4,0,124,1,0,95,13,0,87,110,18,0,4,
- 116,4,0,107,10,0,114,68,1,1,1,1,89,110,1,0,
- 88,124,2,0,115,99,1,116,1,0,124,1,0,100,5,0,
- 100,2,0,131,3,0,100,2,0,107,8,0,114,157,1,124,
- 4,0,106,6,0,100,2,0,107,9,0,114,157,1,121,16,
- 0,124,4,0,106,6,0,124,1,0,95,14,0,87,113,154,
- 1,4,116,4,0,107,10,0,114,150,1,1,1,1,89,113,
- 154,1,88,113,157,1,110,0,0,124,4,0,106,15,0,114,
- 71,2,124,2,0,115,196,1,116,1,0,124,1,0,100,6,
- 0,100,2,0,131,3,0,100,2,0,107,8,0,114,236,1,
- 121,16,0,124,4,0,106,16,0,124,1,0,95,17,0,87,
- 113,236,1,4,116,4,0,107,10,0,114,232,1,1,1,1,
- 89,113,236,1,88,110,0,0,124,2,0,115,10,2,116,1,
- 0,124,1,0,100,7,0,100,2,0,131,3,0,100,2,0,
- 107,8,0,114,71,2,124,4,0,106,18,0,100,2,0,107,
- 9,0,114,68,2,121,16,0,124,4,0,106,18,0,124,1,
- 0,95,19,0,87,113,65,2,4,116,4,0,107,10,0,114,
- 61,2,1,1,1,89,113,65,2,88,113,68,2,113,71,2,
- 110,0,0,100,2,0,83,41,8,97,29,2,0,0,83,101,
- 116,32,116,104,101,32,109,111,100,117,108,101,39,115,32,97,
- 116,116,114,105,98,117,116,101,115,46,10,10,32,32,32,32,
- 32,32,32,32,65,108,108,32,109,105,115,115,105,110,103,32,
- 105,109,112,111,114,116,45,114,101,108,97,116,101,100,32,109,
- 111,100,117,108,101,32,97,116,116,114,105,98,117,116,101,115,
- 32,119,105,108,108,32,98,101,32,115,101,116,46,32,32,72,
- 101,114,101,10,32,32,32,32,32,32,32,32,105,115,32,104,
- 111,119,32,116,104,101,32,115,112,101,99,32,97,116,116,114,
- 105,98,117,116,101,115,32,109,97,112,32,111,110,116,111,32,
- 116,104,101,32,109,111,100,117,108,101,58,10,10,32,32,32,
- 32,32,32,32,32,115,112,101,99,46,110,97,109,101,32,45,
- 62,32,109,111,100,117,108,101,46,95,95,110,97,109,101,95,
- 95,10,32,32,32,32,32,32,32,32,115,112,101,99,46,108,
- 111,97,100,101,114,32,45,62,32,109,111,100,117,108,101,46,
- 95,95,108,111,97,100,101,114,95,95,10,32,32,32,32,32,
- 32,32,32,115,112,101,99,46,112,97,114,101,110,116,32,45,
- 62,32,109,111,100,117,108,101,46,95,95,112,97,99,107,97,
- 103,101,95,95,10,32,32,32,32,32,32,32,32,115,112,101,
- 99,32,45,62,32,109,111,100,117,108,101,46,95,95,115,112,
- 101,99,95,95,10,10,32,32,32,32,32,32,32,32,79,112,
- 116,105,111,110,97,108,58,10,32,32,32,32,32,32,32,32,
- 115,112,101,99,46,111,114,105,103,105,110,32,45,62,32,109,
- 111,100,117,108,101,46,95,95,102,105,108,101,95,95,32,40,
- 105,102,32,115,112,101,99,46,115,101,116,95,102,105,108,101,
- 97,116,116,114,32,105,115,32,116,114,117,101,41,10,32,32,
- 32,32,32,32,32,32,115,112,101,99,46,99,97,99,104,101,
- 100,32,45,62,32,109,111,100,117,108,101,46,95,95,99,97,
- 99,104,101,100,95,95,32,40,105,102,32,95,95,102,105,108,
- 101,95,95,32,97,108,115,111,32,115,101,116,41,10,32,32,
- 32,32,32,32,32,32,115,112,101,99,46,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,45,62,32,109,111,100,117,108,101,46,
- 95,95,112,97,116,104,95,95,32,40,105,102,32,115,101,116,
- 41,10,10,32,32,32,32,32,32,32,32,114,57,0,0,0,
- 78,114,205,0,0,0,218,11,95,95,112,97,99,107,97,103,
- 101,95,95,114,247,0,0,0,114,211,0,0,0,114,245,0,
- 0,0,41,20,114,178,0,0,0,114,62,0,0,0,114,67,
- 0,0,0,114,57,0,0,0,114,210,0,0,0,114,170,0,
- 0,0,114,221,0,0,0,218,16,95,78,97,109,101,115,112,
- 97,99,101,76,111,97,100,101,114,218,7,95,95,110,101,119,
- 95,95,218,5,95,112,97,116,104,114,205,0,0,0,114,234,
- 0,0,0,114,251,0,0,0,114,209,0,0,0,114,247,0,
- 0,0,114,227,0,0,0,114,218,0,0,0,114,211,0,0,
- 0,114,226,0,0,0,114,245,0,0,0,41,6,114,71,0,
- 0,0,114,180,0,0,0,114,249,0,0,0,114,250,0,0,
- 0,114,178,0,0,0,114,170,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,218,17,105,110,105,116,
- 95,109,111,100,117,108,101,95,97,116,116,114,115,251,3,0,
- 0,115,88,0,0,0,0,17,9,6,12,1,24,1,3,1,
- 16,1,13,1,8,3,30,1,9,1,12,2,15,1,15,1,
- 18,1,3,1,13,1,13,1,8,3,30,1,3,1,16,1,
- 13,1,8,3,3,1,13,1,13,1,5,3,30,1,15,1,
- 3,1,16,1,13,1,11,2,9,2,30,1,3,1,16,1,
- 13,1,8,3,30,1,15,1,3,1,16,1,13,1,122,30,
- 95,83,112,101,99,77,101,116,104,111,100,115,46,105,110,105,
- 116,95,109,111,100,117,108,101,95,97,116,116,114,115,99,1,
- 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,67,
- 0,0,0,115,101,0,0,0,124,0,0,106,0,0,125,1,
- 0,116,1,0,124,1,0,106,2,0,100,1,0,131,2,0,
- 114,48,0,124,1,0,106,2,0,106,3,0,124,1,0,131,
- 1,0,125,2,0,110,6,0,100,2,0,125,2,0,124,2,
- 0,100,2,0,107,8,0,114,84,0,116,4,0,124,1,0,
- 106,5,0,131,1,0,125,2,0,110,0,0,124,0,0,106,
- 6,0,124,2,0,131,1,0,1,124,2,0,83,41,3,122,
- 153,82,101,116,117,114,110,32,97,32,110,101,119,32,109,111,
- 100,117,108,101,32,116,111,32,98,101,32,108,111,97,100,101,
- 100,46,10,10,32,32,32,32,32,32,32,32,84,104,101,32,
- 105,109,112,111,114,116,45,114,101,108,97,116,101,100,32,109,
- 111,100,117,108,101,32,97,116,116,114,105,98,117,116,101,115,
- 32,97,114,101,32,97,108,115,111,32,115,101,116,32,119,105,
- 116,104,32,116,104,101,10,32,32,32,32,32,32,32,32,97,
- 112,112,114,111,112,114,105,97,116,101,32,118,97,108,117,101,
- 115,32,102,114,111,109,32,116,104,101,32,115,112,101,99,46,
- 10,10,32,32,32,32,32,32,32,32,218,13,99,114,101,97,
- 116,101,95,109,111,100,117,108,101,78,41,7,114,178,0,0,
- 0,114,60,0,0,0,114,170,0,0,0,114,0,1,0,0,
- 114,68,0,0,0,114,67,0,0,0,114,255,0,0,0,41,
- 3,114,71,0,0,0,114,178,0,0,0,114,180,0,0,0,
- 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
- 6,99,114,101,97,116,101,75,4,0,0,115,16,0,0,0,
- 0,7,9,2,18,3,21,2,6,1,12,4,18,1,13,1,
- 122,19,95,83,112,101,99,77,101,116,104,111,100,115,46,99,
- 114,101,97,116,101,99,2,0,0,0,0,0,0,0,2,0,
- 0,0,2,0,0,0,67,0,0,0,115,23,0,0,0,124,
- 0,0,106,0,0,106,1,0,106,2,0,124,1,0,131,1,
- 0,1,100,1,0,83,41,2,122,189,68,111,32,101,118,101,
- 114,121,116,104,105,110,103,32,110,101,99,101,115,115,97,114,
- 121,32,116,111,32,101,120,101,99,117,116,101,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,110,97,109,101,115,112,97,99,101,32,
- 111,102,32,96,109,111,100,117,108,101,96,32,105,115,32,117,
- 115,101,100,32,97,115,32,116,104,101,32,116,97,114,103,101,
- 116,32,111,102,32,101,120,101,99,117,116,105,111,110,46,10,
- 32,32,32,32,32,32,32,32,84,104,105,115,32,109,101,116,
- 104,111,100,32,117,115,101,115,32,116,104,101,32,108,111,97,
- 100,101,114,39,115,32,96,101,120,101,99,95,109,111,100,117,
- 108,101,40,41,96,32,109,101,116,104,111,100,46,10,10,32,
- 32,32,32,32,32,32,32,78,41,3,114,178,0,0,0,114,
- 170,0,0,0,218,11,101,120,101,99,95,109,111,100,117,108,
- 101,41,2,114,71,0,0,0,114,180,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,218,5,95,101,
- 120,101,99,98,4,0,0,115,2,0,0,0,0,7,122,18,
- 95,83,112,101,99,77,101,116,104,111,100,115,46,95,101,120,
- 101,99,99,2,0,0,0,0,0,0,0,4,0,0,0,11,
- 0,0,0,67,0,0,0,115,17,1,0,0,124,0,0,106,
- 0,0,106,1,0,125,2,0,116,2,0,106,3,0,131,0,
- 0,1,116,4,0,124,2,0,131,1,0,143,226,0,1,116,
- 5,0,106,6,0,106,7,0,124,2,0,131,1,0,124,1,
- 0,107,9,0,114,95,0,100,1,0,106,8,0,124,2,0,
- 131,1,0,125,3,0,116,9,0,124,3,0,100,2,0,124,
- 2,0,131,1,1,130,1,0,110,0,0,124,0,0,106,0,
- 0,106,10,0,100,3,0,107,8,0,114,181,0,124,0,0,
- 106,0,0,106,11,0,100,3,0,107,8,0,114,158,0,116,
- 9,0,100,4,0,100,2,0,124,0,0,106,0,0,106,1,
- 0,131,1,1,130,1,0,110,0,0,124,0,0,106,12,0,
- 124,1,0,100,5,0,100,6,0,131,1,1,1,124,1,0,
- 83,124,0,0,106,12,0,124,1,0,100,5,0,100,6,0,
- 131,1,1,1,116,13,0,124,0,0,106,0,0,106,10,0,
- 100,7,0,131,2,0,115,243,0,124,0,0,106,0,0,106,
- 10,0,106,14,0,124,2,0,131,1,0,1,110,13,0,124,
- 0,0,106,15,0,124,1,0,131,1,0,1,87,100,3,0,
- 81,88,116,5,0,106,6,0,124,2,0,25,83,41,8,122,
- 51,69,120,101,99,117,116,101,32,116,104,101,32,115,112,101,
- 99,32,105,110,32,97,110,32,101,120,105,115,116,105,110,103,
- 32,109,111,100,117,108,101,39,115,32,110,97,109,101,115,112,
- 97,99,101,46,122,30,109,111,100,117,108,101,32,123,33,114,
- 125,32,110,111,116,32,105,110,32,115,121,115,46,109,111,100,
- 117,108,101,115,114,67,0,0,0,78,122,14,109,105,115,115,
- 105,110,103,32,108,111,97,100,101,114,114,249,0,0,0,84,
- 114,2,1,0,0,41,16,114,178,0,0,0,114,67,0,0,
- 0,114,106,0,0,0,218,12,97,99,113,117,105,114,101,95,
- 108,111,99,107,114,103,0,0,0,114,7,0,0,0,114,73,
- 0,0,0,114,93,0,0,0,114,47,0,0,0,114,154,0,
- 0,0,114,170,0,0,0,114,221,0,0,0,114,255,0,0,
- 0,114,60,0,0,0,218,11,108,111,97,100,95,109,111,100,
- 117,108,101,114,3,1,0,0,41,4,114,71,0,0,0,114,
- 180,0,0,0,114,67,0,0,0,114,172,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,114,176,0,
- 0,0,108,4,0,0,115,32,0,0,0,0,2,12,1,10,
- 1,13,1,24,1,15,1,21,1,18,1,18,1,27,2,19,
- 1,4,1,19,1,21,4,22,2,19,1,122,17,95,83,112,
- 101,99,77,101,116,104,111,100,115,46,101,120,101,99,99,1,
- 0,0,0,0,0,0,0,3,0,0,0,27,0,0,0,67,
- 0,0,0,115,24,1,0,0,124,0,0,106,0,0,125,1,
- 0,124,1,0,106,1,0,106,2,0,124,1,0,106,3,0,
- 131,1,0,1,116,4,0,106,5,0,124,1,0,106,3,0,
- 25,125,2,0,116,6,0,124,2,0,100,1,0,100,0,0,
- 131,3,0,100,0,0,107,8,0,114,108,0,121,16,0,124,
- 1,0,106,1,0,124,2,0,95,7,0,87,113,108,0,4,
- 116,8,0,107,10,0,114,104,0,1,1,1,89,113,108,0,
- 88,110,0,0,116,6,0,124,2,0,100,2,0,100,0,0,
- 131,3,0,100,0,0,107,8,0,114,215,0,121,59,0,124,
- 2,0,106,9,0,124,2,0,95,10,0,116,11,0,124,2,
- 0,100,3,0,131,2,0,115,190,0,124,1,0,106,3,0,
- 106,12,0,100,4,0,131,1,0,100,5,0,25,124,2,0,
- 95,10,0,110,0,0,87,113,215,0,4,116,8,0,107,10,
- 0,114,211,0,1,1,1,89,113,215,0,88,110,0,0,116,
- 6,0,124,2,0,100,6,0,100,0,0,131,3,0,100,0,
- 0,107,8,0,114,20,1,121,13,0,124,1,0,124,2,0,
- 95,13,0,87,113,20,1,4,116,8,0,107,10,0,114,16,
- 1,1,1,1,89,113,20,1,88,110,0,0,124,2,0,83,
- 41,7,78,114,205,0,0,0,114,251,0,0,0,114,247,0,
- 0,0,114,116,0,0,0,114,84,0,0,0,114,209,0,0,
- 0,41,14,114,178,0,0,0,114,170,0,0,0,114,5,1,
- 0,0,114,67,0,0,0,114,7,0,0,0,114,73,0,0,
- 0,114,62,0,0,0,114,205,0,0,0,114,210,0,0,0,
- 114,57,0,0,0,114,251,0,0,0,114,60,0,0,0,114,
- 32,0,0,0,114,209,0,0,0,41,3,114,71,0,0,0,
- 114,178,0,0,0,114,180,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,218,25,95,108,111,97,100,
- 95,98,97,99,107,119,97,114,100,95,99,111,109,112,97,116,
- 105,98,108,101,132,4,0,0,115,42,0,0,0,0,4,9,
- 1,19,2,16,1,24,1,3,1,16,1,13,1,8,1,24,
- 1,3,4,12,1,15,1,32,1,13,1,8,1,24,1,3,
- 1,13,1,13,1,8,1,122,38,95,83,112,101,99,77,101,
- 116,104,111,100,115,46,95,108,111,97,100,95,98,97,99,107,
- 119,97,114,100,95,99,111,109,112,97,116,105,98,108,101,99,
- 1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,
- 67,0,0,0,115,179,0,0,0,124,0,0,106,0,0,106,
- 1,0,100,0,0,107,9,0,114,52,0,116,2,0,124,0,
- 0,106,0,0,106,1,0,100,1,0,131,2,0,115,52,0,
- 124,0,0,106,3,0,131,0,0,83,110,0,0,124,0,0,
- 106,4,0,131,0,0,125,1,0,116,5,0,124,1,0,131,
- 1,0,143,84,0,1,124,0,0,106,0,0,106,1,0,100,
- 0,0,107,8,0,114,143,0,124,0,0,106,0,0,106,6,
- 0,100,0,0,107,8,0,114,156,0,116,7,0,100,2,0,
- 100,3,0,124,0,0,106,0,0,106,8,0,131,1,1,130,
- 1,0,113,156,0,110,13,0,124,0,0,106,9,0,124,1,
- 0,131,1,0,1,87,100,0,0,81,88,116,10,0,106,11,
- 0,124,0,0,106,0,0,106,8,0,25,83,41,4,78,114,
- 2,1,0,0,122,14,109,105,115,115,105,110,103,32,108,111,
- 97,100,101,114,114,67,0,0,0,41,12,114,178,0,0,0,
- 114,170,0,0,0,114,60,0,0,0,114,6,1,0,0,114,
- 1,1,0,0,114,213,0,0,0,114,221,0,0,0,114,154,
- 0,0,0,114,67,0,0,0,114,3,1,0,0,114,7,0,
- 0,0,114,73,0,0,0,41,2,114,71,0,0,0,114,180,
+ 13,1,14,2,6,1,3,1,13,1,13,1,11,1,3,1,
+ 19,1,13,1,11,2,21,1,27,1,9,1,9,1,114,247,
+ 0,0,0,218,8,111,118,101,114,114,105,100,101,70,99,2,
+ 0,0,0,1,0,0,0,4,0,0,0,59,0,0,0,67,
+ 0,0,0,115,27,2,0,0,124,2,0,115,30,0,116,0,
+ 0,124,1,0,100,1,0,100,0,0,131,3,0,100,0,0,
+ 107,8,0,114,67,0,121,16,0,124,0,0,106,1,0,124,
+ 1,0,95,2,0,87,110,18,0,4,116,3,0,107,10,0,
+ 114,66,0,1,1,1,89,110,1,0,88,124,2,0,115,97,
+ 0,116,0,0,124,1,0,100,2,0,100,0,0,131,3,0,
+ 100,0,0,107,8,0,114,194,0,124,0,0,106,4,0,125,
+ 3,0,124,3,0,100,0,0,107,8,0,114,160,0,124,0,
+ 0,106,5,0,100,0,0,107,9,0,114,160,0,116,6,0,
+ 106,7,0,116,6,0,131,1,0,125,3,0,124,0,0,106,
+ 5,0,124,3,0,95,8,0,121,13,0,124,3,0,124,1,
+ 0,95,9,0,87,110,18,0,4,116,3,0,107,10,0,114,
+ 193,0,1,1,1,89,110,1,0,88,124,2,0,115,224,0,
+ 116,0,0,124,1,0,100,3,0,100,0,0,131,3,0,100,
+ 0,0,107,8,0,114,5,1,121,16,0,124,0,0,106,10,
+ 0,124,1,0,95,11,0,87,110,18,0,4,116,3,0,107,
+ 10,0,114,4,1,1,1,1,89,110,1,0,88,121,13,0,
+ 124,0,0,124,1,0,95,12,0,87,110,18,0,4,116,3,
+ 0,107,10,0,114,38,1,1,1,1,89,110,1,0,88,124,
+ 2,0,115,69,1,116,0,0,124,1,0,100,4,0,100,0,
+ 0,131,3,0,100,0,0,107,8,0,114,121,1,124,0,0,
+ 106,5,0,100,0,0,107,9,0,114,121,1,121,16,0,124,
+ 0,0,106,5,0,124,1,0,95,13,0,87,110,18,0,4,
+ 116,3,0,107,10,0,114,120,1,1,1,1,89,110,1,0,
+ 88,124,0,0,106,14,0,114,23,2,124,2,0,115,160,1,
+ 116,0,0,124,1,0,100,5,0,100,0,0,131,3,0,100,
+ 0,0,107,8,0,114,197,1,121,16,0,124,0,0,106,15,
+ 0,124,1,0,95,16,0,87,110,18,0,4,116,3,0,107,
+ 10,0,114,196,1,1,1,1,89,110,1,0,88,124,2,0,
+ 115,227,1,116,0,0,124,1,0,100,6,0,100,0,0,131,
+ 3,0,100,0,0,107,8,0,114,23,2,124,0,0,106,17,
+ 0,100,0,0,107,9,0,114,23,2,121,16,0,124,0,0,
+ 106,17,0,124,1,0,95,18,0,87,110,18,0,4,116,3,
+ 0,107,10,0,114,22,2,1,1,1,89,110,1,0,88,124,
+ 1,0,83,41,7,78,114,57,0,0,0,114,203,0,0,0,
+ 218,11,95,95,112,97,99,107,97,103,101,95,95,114,246,0,
+ 0,0,114,210,0,0,0,114,244,0,0,0,41,19,114,62,
+ 0,0,0,114,67,0,0,0,114,57,0,0,0,114,208,0,
+ 0,0,114,170,0,0,0,114,220,0,0,0,218,16,95,78,
+ 97,109,101,115,112,97,99,101,76,111,97,100,101,114,218,7,
+ 95,95,110,101,119,95,95,218,5,95,112,97,116,104,114,203,
+ 0,0,0,114,233,0,0,0,114,249,0,0,0,114,207,0,
+ 0,0,114,246,0,0,0,114,226,0,0,0,114,217,0,0,
+ 0,114,210,0,0,0,114,225,0,0,0,114,244,0,0,0,
+ 41,4,114,177,0,0,0,114,178,0,0,0,114,248,0,0,
+ 0,114,170,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,218,18,95,105,110,105,116,95,109,111,100,
+ 117,108,101,95,97,116,116,114,115,226,3,0,0,115,86,0,
+ 0,0,0,4,30,1,3,1,16,1,13,1,5,2,30,1,
+ 9,1,12,2,15,1,15,1,12,1,3,1,13,1,13,1,
+ 5,2,30,1,3,1,16,1,13,1,5,2,3,1,13,1,
+ 13,1,5,2,30,1,15,1,3,1,16,1,13,1,5,2,
+ 9,1,30,1,3,1,16,1,13,1,5,2,30,1,15,1,
+ 3,1,16,1,13,1,5,1,114,253,0,0,0,99,1,0,
+ 0,0,0,0,0,0,2,0,0,0,5,0,0,0,67,0,
+ 0,0,115,129,0,0,0,100,1,0,125,1,0,116,0,0,
+ 124,0,0,106,1,0,100,2,0,131,2,0,114,45,0,124,
+ 0,0,106,1,0,106,2,0,124,0,0,131,1,0,125,1,
+ 0,110,40,0,116,0,0,124,0,0,106,1,0,100,3,0,
+ 131,2,0,114,85,0,116,3,0,106,4,0,100,4,0,116,
+ 5,0,100,5,0,100,6,0,131,2,1,1,124,1,0,100,
+ 1,0,107,8,0,114,112,0,116,6,0,124,0,0,106,7,
+ 0,131,1,0,125,1,0,116,8,0,124,0,0,124,1,0,
+ 131,2,0,1,124,1,0,83,41,7,122,43,67,114,101,97,
+ 116,101,32,97,32,109,111,100,117,108,101,32,98,97,115,101,
+ 100,32,111,110,32,116,104,101,32,112,114,111,118,105,100,101,
+ 100,32,115,112,101,99,46,78,218,13,99,114,101,97,116,101,
+ 95,109,111,100,117,108,101,218,11,101,120,101,99,95,109,111,
+ 100,117,108,101,122,87,115,116,97,114,116,105,110,103,32,105,
+ 110,32,80,121,116,104,111,110,32,51,46,54,44,32,108,111,
+ 97,100,101,114,115,32,100,101,102,105,110,105,110,103,32,101,
+ 120,101,99,95,109,111,100,117,108,101,40,41,32,109,117,115,
+ 116,32,97,108,115,111,32,100,101,102,105,110,101,32,99,114,
+ 101,97,116,101,95,109,111,100,117,108,101,40,41,90,10,115,
+ 116,97,99,107,108,101,118,101,108,114,115,0,0,0,41,9,
+ 114,60,0,0,0,114,170,0,0,0,114,254,0,0,0,114,
+ 167,0,0,0,114,168,0,0,0,218,18,68,101,112,114,101,
+ 99,97,116,105,111,110,87,97,114,110,105,110,103,114,68,0,
+ 0,0,114,67,0,0,0,114,253,0,0,0,41,2,114,177,
+ 0,0,0,114,178,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,218,16,109,111,100,117,108,101,95,
+ 102,114,111,109,95,115,112,101,99,26,4,0,0,115,20,0,
+ 0,0,0,3,6,1,18,3,21,1,18,1,9,2,13,1,
+ 12,1,15,1,13,1,114,1,1,0,0,99,1,0,0,0,
+ 0,0,0,0,2,0,0,0,3,0,0,0,67,0,0,0,
+ 115,149,0,0,0,124,0,0,106,0,0,100,1,0,107,8,
+ 0,114,21,0,100,2,0,110,6,0,124,0,0,106,0,0,
+ 125,1,0,124,0,0,106,1,0,100,1,0,107,8,0,114,
+ 95,0,124,0,0,106,2,0,100,1,0,107,8,0,114,73,
+ 0,100,3,0,106,3,0,124,1,0,131,1,0,83,100,4,
+ 0,106,3,0,124,1,0,124,0,0,106,2,0,131,2,0,
+ 83,110,50,0,124,0,0,106,4,0,114,123,0,100,5,0,
+ 106,3,0,124,1,0,124,0,0,106,1,0,131,2,0,83,
+ 100,6,0,106,3,0,124,0,0,106,0,0,124,0,0,106,
+ 1,0,131,2,0,83,100,1,0,83,41,7,122,38,82,101,
+ 116,117,114,110,32,116,104,101,32,114,101,112,114,32,116,111,
+ 32,117,115,101,32,102,111,114,32,116,104,101,32,109,111,100,
+ 117,108,101,46,78,114,205,0,0,0,122,13,60,109,111,100,
+ 117,108,101,32,123,33,114,125,62,122,20,60,109,111,100,117,
+ 108,101,32,123,33,114,125,32,40,123,33,114,125,41,62,122,
+ 23,60,109,111,100,117,108,101,32,123,33,114,125,32,102,114,
+ 111,109,32,123,33,114,125,62,122,18,60,109,111,100,117,108,
+ 101,32,123,33,114,125,32,40,123,125,41,62,41,5,114,67,
+ 0,0,0,114,217,0,0,0,114,170,0,0,0,114,47,0,
+ 0,0,114,226,0,0,0,41,2,114,177,0,0,0,114,67,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,14,95,108,111,97,100,95,117,110,108,111,99,107,
- 101,100,162,4,0,0,115,20,0,0,0,0,2,18,2,21,
- 1,13,2,12,1,13,1,18,1,18,1,30,3,19,5,122,
- 27,95,83,112,101,99,77,101,116,104,111,100,115,46,95,108,
- 111,97,100,95,117,110,108,111,99,107,101,100,99,1,0,0,
- 0,0,0,0,0,1,0,0,0,8,0,0,0,67,0,0,
- 0,115,49,0,0,0,116,0,0,106,1,0,131,0,0,1,
- 116,2,0,124,0,0,106,3,0,106,4,0,131,1,0,143,
- 15,0,1,124,0,0,106,5,0,131,0,0,83,87,100,1,
- 0,81,88,100,1,0,83,41,2,122,207,82,101,116,117,114,
- 110,32,97,32,110,101,119,32,109,111,100,117,108,101,32,111,
- 98,106,101,99,116,44,32,108,111,97,100,101,100,32,98,121,
- 32,116,104,101,32,115,112,101,99,39,115,32,108,111,97,100,
- 101,114,46,10,10,32,32,32,32,32,32,32,32,84,104,101,
- 32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,97,
- 100,100,101,100,32,116,111,32,105,116,115,32,112,97,114,101,
- 110,116,46,10,10,32,32,32,32,32,32,32,32,73,102,32,
- 97,32,109,111,100,117,108,101,32,105,115,32,97,108,114,101,
- 97,100,121,32,105,110,32,115,121,115,46,109,111,100,117,108,
- 101,115,44,32,116,104,97,116,32,101,120,105,115,116,105,110,
- 103,32,109,111,100,117,108,101,32,103,101,116,115,10,32,32,
- 32,32,32,32,32,32,99,108,111,98,98,101,114,101,100,46,
- 10,10,32,32,32,32,32,32,32,32,78,41,6,114,106,0,
- 0,0,114,4,1,0,0,114,103,0,0,0,114,178,0,0,
- 0,114,67,0,0,0,114,7,1,0,0,41,1,114,71,0,
- 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,177,0,0,0,185,4,0,0,115,6,0,0,0,0,
- 9,10,1,19,1,122,17,95,83,112,101,99,77,101,116,104,
- 111,100,115,46,108,111,97,100,78,41,13,114,57,0,0,0,
- 114,56,0,0,0,114,58,0,0,0,114,59,0,0,0,114,
- 72,0,0,0,114,206,0,0,0,114,255,0,0,0,114,1,
- 1,0,0,114,3,1,0,0,114,176,0,0,0,114,6,1,
- 0,0,114,7,1,0,0,114,177,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,175,0,0,0,225,3,0,0,115,20,0,0,0,12,3,
- 6,4,12,3,12,16,24,80,12,23,12,10,12,24,12,30,
- 12,23,114,175,0,0,0,99,4,0,0,0,0,0,0,0,
- 6,0,0,0,11,0,0,0,67,0,0,0,115,201,0,0,
+ 0,0,114,209,0,0,0,44,4,0,0,115,16,0,0,0,
+ 0,3,30,1,15,1,15,1,13,2,22,2,9,1,19,2,
+ 114,209,0,0,0,99,2,0,0,0,0,0,0,0,4,0,
+ 0,0,12,0,0,0,67,0,0,0,115,252,0,0,0,124,
+ 0,0,106,0,0,125,2,0,116,1,0,106,2,0,131,0,
+ 0,1,116,3,0,124,2,0,131,1,0,143,208,0,1,116,
+ 4,0,106,5,0,106,6,0,124,2,0,131,1,0,124,1,
+ 0,107,9,0,114,89,0,100,1,0,106,7,0,124,2,0,
+ 131,1,0,125,3,0,116,8,0,124,3,0,100,2,0,124,
+ 2,0,131,1,1,130,1,0,124,0,0,106,9,0,100,3,
+ 0,107,8,0,114,163,0,124,0,0,106,10,0,100,3,0,
+ 107,8,0,114,140,0,116,8,0,100,4,0,100,2,0,124,
+ 0,0,106,0,0,131,1,1,130,1,0,116,11,0,124,0,
+ 0,124,1,0,100,5,0,100,6,0,131,2,1,1,124,1,
+ 0,83,116,11,0,124,0,0,124,1,0,100,5,0,100,6,
+ 0,131,2,1,1,116,12,0,124,0,0,106,9,0,100,7,
+ 0,131,2,0,115,219,0,124,0,0,106,9,0,106,13,0,
+ 124,2,0,131,1,0,1,110,16,0,124,0,0,106,9,0,
+ 106,14,0,124,1,0,131,1,0,1,87,100,3,0,81,88,
+ 116,4,0,106,5,0,124,2,0,25,83,41,8,122,51,69,
+ 120,101,99,117,116,101,32,116,104,101,32,115,112,101,99,32,
+ 105,110,32,97,110,32,101,120,105,115,116,105,110,103,32,109,
+ 111,100,117,108,101,39,115,32,110,97,109,101,115,112,97,99,
+ 101,46,122,30,109,111,100,117,108,101,32,123,33,114,125,32,
+ 110,111,116,32,105,110,32,115,121,115,46,109,111,100,117,108,
+ 101,115,114,67,0,0,0,78,122,14,109,105,115,115,105,110,
+ 103,32,108,111,97,100,101,114,114,248,0,0,0,84,114,255,
+ 0,0,0,41,15,114,67,0,0,0,114,106,0,0,0,218,
+ 12,97,99,113,117,105,114,101,95,108,111,99,107,114,103,0,
+ 0,0,114,7,0,0,0,114,73,0,0,0,114,93,0,0,
+ 0,114,47,0,0,0,114,154,0,0,0,114,170,0,0,0,
+ 114,220,0,0,0,114,253,0,0,0,114,60,0,0,0,218,
+ 11,108,111,97,100,95,109,111,100,117,108,101,114,255,0,0,
+ 0,41,4,114,177,0,0,0,114,178,0,0,0,114,67,0,
+ 0,0,114,172,0,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,114,175,0,0,0,61,4,0,0,115,
+ 32,0,0,0,0,2,9,1,10,1,13,1,24,1,15,1,
+ 18,1,15,1,15,1,21,2,19,1,4,1,19,1,18,4,
+ 19,2,22,1,114,175,0,0,0,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,27,0,0,0,67,0,0,0,115,3,
+ 1,0,0,124,0,0,106,0,0,106,1,0,124,0,0,106,
+ 2,0,131,1,0,1,116,3,0,106,4,0,124,0,0,106,
+ 2,0,25,125,1,0,116,5,0,124,1,0,100,1,0,100,
+ 0,0,131,3,0,100,0,0,107,8,0,114,96,0,121,16,
+ 0,124,0,0,106,0,0,124,1,0,95,6,0,87,110,18,
+ 0,4,116,7,0,107,10,0,114,95,0,1,1,1,89,110,
+ 1,0,88,116,5,0,124,1,0,100,2,0,100,0,0,131,
+ 3,0,100,0,0,107,8,0,114,197,0,121,56,0,124,1,
+ 0,106,8,0,124,1,0,95,9,0,116,10,0,124,1,0,
+ 100,3,0,131,2,0,115,175,0,124,0,0,106,2,0,106,
+ 11,0,100,4,0,131,1,0,100,5,0,25,124,1,0,95,
+ 9,0,87,110,18,0,4,116,7,0,107,10,0,114,196,0,
+ 1,1,1,89,110,1,0,88,116,5,0,124,1,0,100,6,
+ 0,100,0,0,131,3,0,100,0,0,107,8,0,114,255,0,
+ 121,13,0,124,0,0,124,1,0,95,12,0,87,110,18,0,
+ 4,116,7,0,107,10,0,114,254,0,1,1,1,89,110,1,
+ 0,88,124,1,0,83,41,7,78,114,203,0,0,0,114,249,
+ 0,0,0,114,246,0,0,0,114,116,0,0,0,114,84,0,
+ 0,0,114,207,0,0,0,41,13,114,170,0,0,0,114,3,
+ 1,0,0,114,67,0,0,0,114,7,0,0,0,114,73,0,
+ 0,0,114,62,0,0,0,114,203,0,0,0,114,208,0,0,
+ 0,114,57,0,0,0,114,249,0,0,0,114,60,0,0,0,
+ 114,32,0,0,0,114,207,0,0,0,41,2,114,177,0,0,
+ 0,114,178,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,218,25,95,108,111,97,100,95,98,97,99,
+ 107,119,97,114,100,95,99,111,109,112,97,116,105,98,108,101,
+ 86,4,0,0,115,40,0,0,0,0,4,19,2,16,1,24,
+ 1,3,1,16,1,13,1,5,1,24,1,3,4,12,1,15,
+ 1,29,1,13,1,5,1,24,1,3,1,13,1,13,1,5,
+ 1,114,4,1,0,0,99,1,0,0,0,0,0,0,0,2,
+ 0,0,0,11,0,0,0,67,0,0,0,115,158,0,0,0,
+ 124,0,0,106,0,0,100,0,0,107,9,0,114,43,0,116,
+ 1,0,124,0,0,106,0,0,100,1,0,131,2,0,115,43,
+ 0,116,2,0,124,0,0,131,1,0,83,116,3,0,124,0,
+ 0,131,1,0,125,1,0,116,4,0,124,1,0,131,1,0,
+ 143,75,0,1,124,0,0,106,0,0,100,0,0,107,8,0,
+ 114,122,0,124,0,0,106,5,0,100,0,0,107,8,0,114,
+ 138,0,116,6,0,100,2,0,100,3,0,124,0,0,106,7,
+ 0,131,1,1,130,1,0,110,16,0,124,0,0,106,0,0,
+ 106,8,0,124,1,0,131,1,0,1,87,100,0,0,81,88,
+ 116,9,0,106,10,0,124,0,0,106,7,0,25,83,41,4,
+ 78,114,255,0,0,0,122,14,109,105,115,115,105,110,103,32,
+ 108,111,97,100,101,114,114,67,0,0,0,41,11,114,170,0,
+ 0,0,114,60,0,0,0,114,4,1,0,0,114,1,1,0,
+ 0,114,212,0,0,0,114,220,0,0,0,114,154,0,0,0,
+ 114,67,0,0,0,114,255,0,0,0,114,7,0,0,0,114,
+ 73,0,0,0,41,2,114,177,0,0,0,114,178,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 14,95,108,111,97,100,95,117,110,108,111,99,107,101,100,115,
+ 4,0,0,115,20,0,0,0,0,2,15,2,18,1,10,2,
+ 12,1,13,1,15,1,15,1,24,3,22,5,114,5,1,0,
+ 0,99,1,0,0,0,0,0,0,0,1,0,0,0,9,0,
+ 0,0,67,0,0,0,115,46,0,0,0,116,0,0,106,1,
+ 0,131,0,0,1,116,2,0,124,0,0,106,3,0,131,1,
+ 0,143,15,0,1,116,4,0,124,0,0,131,1,0,83,87,
+ 100,1,0,81,88,100,1,0,83,41,2,122,191,82,101,116,
+ 117,114,110,32,97,32,110,101,119,32,109,111,100,117,108,101,
+ 32,111,98,106,101,99,116,44,32,108,111,97,100,101,100,32,
+ 98,121,32,116,104,101,32,115,112,101,99,39,115,32,108,111,
+ 97,100,101,114,46,10,10,32,32,32,32,84,104,101,32,109,
+ 111,100,117,108,101,32,105,115,32,110,111,116,32,97,100,100,
+ 101,100,32,116,111,32,105,116,115,32,112,97,114,101,110,116,
+ 46,10,10,32,32,32,32,73,102,32,97,32,109,111,100,117,
+ 108,101,32,105,115,32,97,108,114,101,97,100,121,32,105,110,
+ 32,115,121,115,46,109,111,100,117,108,101,115,44,32,116,104,
+ 97,116,32,101,120,105,115,116,105,110,103,32,109,111,100,117,
+ 108,101,32,103,101,116,115,10,32,32,32,32,99,108,111,98,
+ 98,101,114,101,100,46,10,10,32,32,32,32,78,41,5,114,
+ 106,0,0,0,114,2,1,0,0,114,103,0,0,0,114,67,
+ 0,0,0,114,5,1,0,0,41,1,114,177,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,176,
+ 0,0,0,138,4,0,0,115,6,0,0,0,0,9,10,1,
+ 16,1,114,176,0,0,0,99,4,0,0,0,0,0,0,0,
+ 6,0,0,0,11,0,0,0,67,0,0,0,115,195,0,0,
0,124,0,0,106,0,0,100,1,0,131,1,0,125,4,0,
124,0,0,106,0,0,100,2,0,131,1,0,125,5,0,124,
- 4,0,115,102,0,124,5,0,114,54,0,124,5,0,106,1,
- 0,125,4,0,113,102,0,124,2,0,124,3,0,107,2,0,
+ 4,0,115,99,0,124,5,0,114,54,0,124,5,0,106,1,
+ 0,125,4,0,110,45,0,124,2,0,124,3,0,107,2,0,
114,84,0,116,2,0,124,1,0,124,2,0,131,2,0,125,
- 4,0,113,102,0,116,3,0,124,1,0,124,2,0,131,2,
- 0,125,4,0,110,0,0,124,5,0,115,132,0,116,4,0,
- 124,1,0,124,2,0,100,3,0,124,4,0,131,2,1,125,
- 5,0,110,0,0,121,44,0,124,5,0,124,0,0,100,2,
- 0,60,124,4,0,124,0,0,100,1,0,60,124,2,0,124,
- 0,0,100,4,0,60,124,3,0,124,0,0,100,5,0,60,
- 87,110,18,0,4,116,5,0,107,10,0,114,196,0,1,1,
- 1,89,110,1,0,88,100,0,0,83,41,6,78,114,205,0,
- 0,0,114,209,0,0,0,114,170,0,0,0,114,211,0,0,
- 0,114,245,0,0,0,41,6,114,93,0,0,0,114,170,0,
- 0,0,218,20,83,111,117,114,99,101,108,101,115,115,70,105,
- 108,101,76,111,97,100,101,114,218,16,83,111,117,114,99,101,
- 70,105,108,101,76,111,97,100,101,114,114,240,0,0,0,114,
- 208,0,0,0,41,6,90,2,110,115,114,67,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,170,0,0,0,114,178,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,218,14,95,
- 102,105,120,95,117,112,95,109,111,100,117,108,101,199,4,0,
- 0,115,34,0,0,0,0,2,15,1,15,1,6,1,6,1,
- 12,1,12,1,18,2,18,1,6,1,24,1,3,1,10,1,
- 10,1,10,1,14,1,13,2,114,10,1,0,0,99,0,0,
- 0,0,0,0,0,0,0,0,0,0,5,0,0,0,64,0,
- 0,0,115,181,0,0,0,101,0,0,90,1,0,100,0,0,
- 90,2,0,100,1,0,90,3,0,101,4,0,100,2,0,100,
- 3,0,132,0,0,131,1,0,90,5,0,101,6,0,100,4,
- 0,100,4,0,100,5,0,100,6,0,132,2,0,131,1,0,
- 90,7,0,101,6,0,100,4,0,100,7,0,100,8,0,132,
- 1,0,131,1,0,90,8,0,101,6,0,101,9,0,100,9,
- 0,100,10,0,132,0,0,131,1,0,131,1,0,90,10,0,
- 101,6,0,101,9,0,100,11,0,100,12,0,132,0,0,131,
- 1,0,131,1,0,90,11,0,101,6,0,101,9,0,100,13,
- 0,100,14,0,132,0,0,131,1,0,131,1,0,90,12,0,
- 101,6,0,101,9,0,100,15,0,100,16,0,132,0,0,131,
- 1,0,131,1,0,90,13,0,100,4,0,83,41,17,218,15,
- 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,122,
- 144,77,101,116,97,32,112,97,116,104,32,105,109,112,111,114,
- 116,32,102,111,114,32,98,117,105,108,116,45,105,110,32,109,
- 111,100,117,108,101,115,46,10,10,32,32,32,32,65,108,108,
- 32,109,101,116,104,111,100,115,32,97,114,101,32,101,105,116,
- 104,101,114,32,99,108,97,115,115,32,111,114,32,115,116,97,
- 116,105,99,32,109,101,116,104,111,100,115,32,116,111,32,97,
- 118,111,105,100,32,116,104,101,32,110,101,101,100,32,116,111,
- 10,32,32,32,32,105,110,115,116,97,110,116,105,97,116,101,
- 32,116,104,101,32,99,108,97,115,115,46,10,10,32,32,32,
- 32,99,1,0,0,0,0,0,0,0,1,0,0,0,2,0,
- 0,0,67,0,0,0,115,16,0,0,0,100,1,0,106,0,
- 0,124,0,0,106,1,0,131,1,0,83,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,24,60,109,111,100,117,108,101,32,123,33,114,125,
- 32,40,98,117,105,108,116,45,105,110,41,62,41,2,114,47,
- 0,0,0,114,57,0,0,0,41,1,114,180,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,206,
- 0,0,0,233,4,0,0,115,2,0,0,0,0,7,122,27,
- 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,
- 109,111,100,117,108,101,95,114,101,112,114,78,99,4,0,0,
- 0,0,0,0,0,4,0,0,0,5,0,0,0,67,0,0,
- 0,115,58,0,0,0,124,2,0,100,0,0,107,9,0,114,
- 16,0,100,0,0,83,116,0,0,106,1,0,124,1,0,131,
- 1,0,114,50,0,116,2,0,124,1,0,124,0,0,100,1,
- 0,100,2,0,131,2,1,83,100,0,0,83,100,0,0,83,
- 41,3,78,114,218,0,0,0,122,8,98,117,105,108,116,45,
- 105,110,41,3,114,106,0,0,0,90,10,105,115,95,98,117,
- 105,108,116,105,110,114,174,0,0,0,41,4,218,3,99,108,
- 115,114,159,0,0,0,114,35,0,0,0,218,6,116,97,114,
- 103,101,116,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,9,102,105,110,100,95,115,112,101,99,242,4,0,
- 0,115,10,0,0,0,0,2,12,1,4,1,15,1,19,2,
- 122,25,66,117,105,108,116,105,110,73,109,112,111,114,116,101,
- 114,46,102,105,110,100,95,115,112,101,99,99,3,0,0,0,
- 0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0,
- 115,41,0,0,0,124,0,0,106,0,0,124,1,0,124,2,
- 0,131,2,0,125,3,0,124,3,0,100,1,0,107,9,0,
- 114,37,0,124,3,0,106,1,0,83,100,1,0,83,41,2,
- 122,175,70,105,110,100,32,116,104,101,32,98,117,105,108,116,
- 45,105,110,32,109,111,100,117,108,101,46,10,10,32,32,32,
- 32,32,32,32,32,73,102,32,39,112,97,116,104,39,32,105,
- 115,32,101,118,101,114,32,115,112,101,99,105,102,105,101,100,
- 32,116,104,101,110,32,116,104,101,32,115,101,97,114,99,104,
- 32,105,115,32,99,111,110,115,105,100,101,114,101,100,32,97,
- 32,102,97,105,108,117,114,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,14,1,0,0,114,170,0,0,0,41,4,
- 114,12,1,0,0,114,159,0,0,0,114,35,0,0,0,114,
+ 4,0,110,15,0,116,3,0,124,1,0,124,2,0,131,2,
+ 0,125,4,0,124,5,0,115,126,0,116,4,0,124,1,0,
+ 124,2,0,100,3,0,124,4,0,131,2,1,125,5,0,121,
+ 44,0,124,5,0,124,0,0,100,2,0,60,124,4,0,124,
+ 0,0,100,1,0,60,124,2,0,124,0,0,100,4,0,60,
+ 124,3,0,124,0,0,100,5,0,60,87,110,18,0,4,116,
+ 5,0,107,10,0,114,190,0,1,1,1,89,110,1,0,88,
+ 100,0,0,83,41,6,78,114,203,0,0,0,114,207,0,0,
+ 0,114,170,0,0,0,114,210,0,0,0,114,244,0,0,0,
+ 41,6,114,93,0,0,0,114,170,0,0,0,218,20,83,111,
+ 117,114,99,101,108,101,115,115,70,105,108,101,76,111,97,100,
+ 101,114,218,16,83,111,117,114,99,101,70,105,108,101,76,111,
+ 97,100,101,114,114,239,0,0,0,114,206,0,0,0,41,6,
+ 90,2,110,115,114,67,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,170,
+ 0,0,0,114,177,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,218,14,95,102,105,120,95,117,112,
+ 95,109,111,100,117,108,101,152,4,0,0,115,34,0,0,0,
+ 0,2,15,1,15,1,6,1,6,1,12,1,12,1,18,2,
+ 15,1,6,1,21,1,3,1,10,1,10,1,10,1,14,1,
+ 13,2,114,8,1,0,0,99,0,0,0,0,0,0,0,0,
+ 0,0,0,0,5,0,0,0,64,0,0,0,115,181,0,0,
+ 0,101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,
+ 90,3,0,101,4,0,100,2,0,100,3,0,132,0,0,131,
+ 1,0,90,5,0,101,6,0,100,4,0,100,4,0,100,5,
+ 0,100,6,0,132,2,0,131,1,0,90,7,0,101,6,0,
+ 100,4,0,100,7,0,100,8,0,132,1,0,131,1,0,90,
+ 8,0,101,6,0,101,9,0,100,9,0,100,10,0,132,0,
+ 0,131,1,0,131,1,0,90,10,0,101,6,0,101,9,0,
+ 100,11,0,100,12,0,132,0,0,131,1,0,131,1,0,90,
+ 11,0,101,6,0,101,9,0,100,13,0,100,14,0,132,0,
+ 0,131,1,0,131,1,0,90,12,0,101,6,0,101,9,0,
+ 100,15,0,100,16,0,132,0,0,131,1,0,131,1,0,90,
+ 13,0,100,4,0,83,41,17,218,15,66,117,105,108,116,105,
+ 110,73,109,112,111,114,116,101,114,122,144,77,101,116,97,32,
+ 112,97,116,104,32,105,109,112,111,114,116,32,102,111,114,32,
+ 98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,
+ 46,10,10,32,32,32,32,65,108,108,32,109,101,116,104,111,
+ 100,115,32,97,114,101,32,101,105,116,104,101,114,32,99,108,
+ 97,115,115,32,111,114,32,115,116,97,116,105,99,32,109,101,
+ 116,104,111,100,115,32,116,111,32,97,118,111,105,100,32,116,
+ 104,101,32,110,101,101,100,32,116,111,10,32,32,32,32,105,
+ 110,115,116,97,110,116,105,97,116,101,32,116,104,101,32,99,
+ 108,97,115,115,46,10,10,32,32,32,32,99,1,0,0,0,
+ 0,0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,
+ 115,16,0,0,0,100,1,0,106,0,0,124,0,0,106,1,
+ 0,131,1,0,83,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,24,60,109,
+ 111,100,117,108,101,32,123,33,114,125,32,40,98,117,105,108,
+ 116,45,105,110,41,62,41,2,114,47,0,0,0,114,57,0,
+ 0,0,41,1,114,178,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,204,0,0,0,186,4,0,
+ 0,115,2,0,0,0,0,7,122,27,66,117,105,108,116,105,
+ 110,73,109,112,111,114,116,101,114,46,109,111,100,117,108,101,
+ 95,114,101,112,114,78,99,4,0,0,0,0,0,0,0,4,
+ 0,0,0,5,0,0,0,67,0,0,0,115,58,0,0,0,
+ 124,2,0,100,0,0,107,9,0,114,16,0,100,0,0,83,
+ 116,0,0,106,1,0,124,1,0,131,1,0,114,50,0,116,
+ 2,0,124,1,0,124,0,0,100,1,0,100,2,0,131,2,
+ 1,83,100,0,0,83,100,0,0,83,41,3,78,114,217,0,
+ 0,0,122,8,98,117,105,108,116,45,105,110,41,3,114,106,
+ 0,0,0,90,10,105,115,95,98,117,105,108,116,105,110,114,
+ 174,0,0,0,41,4,218,3,99,108,115,114,159,0,0,0,
+ 114,35,0,0,0,218,6,116,97,114,103,101,116,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,218,9,102,105,
+ 110,100,95,115,112,101,99,195,4,0,0,115,10,0,0,0,
+ 0,2,12,1,4,1,15,1,19,2,122,25,66,117,105,108,
+ 116,105,110,73,109,112,111,114,116,101,114,46,102,105,110,100,
+ 95,115,112,101,99,99,3,0,0,0,0,0,0,0,4,0,
+ 0,0,3,0,0,0,67,0,0,0,115,41,0,0,0,124,
+ 0,0,106,0,0,124,1,0,124,2,0,131,2,0,125,3,
+ 0,124,3,0,100,1,0,107,9,0,114,37,0,124,3,0,
+ 106,1,0,83,100,1,0,83,41,2,122,175,70,105,110,100,
+ 32,116,104,101,32,98,117,105,108,116,45,105,110,32,109,111,
+ 100,117,108,101,46,10,10,32,32,32,32,32,32,32,32,73,
+ 102,32,39,112,97,116,104,39,32,105,115,32,101,118,101,114,
+ 32,115,112,101,99,105,102,105,101,100,32,116,104,101,110,32,
+ 116,104,101,32,115,101,97,114,99,104,32,105,115,32,99,111,
+ 110,115,105,100,101,114,101,100,32,97,32,102,97,105,108,117,
+ 114,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,12,
+ 1,0,0,114,170,0,0,0,41,4,114,10,1,0,0,114,
+ 159,0,0,0,114,35,0,0,0,114,177,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,218,11,102,
+ 105,110,100,95,109,111,100,117,108,101,204,4,0,0,115,4,
+ 0,0,0,0,9,18,1,122,27,66,117,105,108,116,105,110,
+ 73,109,112,111,114,116,101,114,46,102,105,110,100,95,109,111,
+ 100,117,108,101,99,2,0,0,0,0,0,0,0,3,0,0,
+ 0,10,0,0,0,67,0,0,0,115,59,0,0,0,116,0,
+ 0,124,1,0,131,1,0,143,23,0,1,116,1,0,116,2,
+ 0,106,3,0,124,1,0,131,2,0,125,2,0,87,100,1,
+ 0,81,88,124,0,0,124,2,0,95,4,0,100,2,0,124,
+ 2,0,95,5,0,124,2,0,83,41,3,122,23,76,111,97,
+ 100,32,97,32,98,117,105,108,116,45,105,110,32,109,111,100,
+ 117,108,101,46,78,114,30,0,0,0,41,6,114,69,0,0,
+ 0,114,114,0,0,0,114,106,0,0,0,90,12,105,110,105,
+ 116,95,98,117,105,108,116,105,110,114,203,0,0,0,114,249,
+ 0,0,0,41,3,114,10,1,0,0,114,159,0,0,0,114,
178,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,11,102,105,110,100,95,109,111,100,117,108,101,
- 251,4,0,0,115,4,0,0,0,0,9,18,1,122,27,66,
- 117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,102,
- 105,110,100,95,109,111,100,117,108,101,99,2,0,0,0,0,
- 0,0,0,3,0,0,0,10,0,0,0,67,0,0,0,115,
- 59,0,0,0,116,0,0,124,1,0,131,1,0,143,23,0,
- 1,116,1,0,116,2,0,106,3,0,124,1,0,131,2,0,
- 125,2,0,87,100,1,0,81,88,124,0,0,124,2,0,95,
- 4,0,100,2,0,124,2,0,95,5,0,124,2,0,83,41,
- 3,122,23,76,111,97,100,32,97,32,98,117,105,108,116,45,
- 105,110,32,109,111,100,117,108,101,46,78,114,30,0,0,0,
- 41,6,114,69,0,0,0,114,114,0,0,0,114,106,0,0,
- 0,90,12,105,110,105,116,95,98,117,105,108,116,105,110,114,
- 205,0,0,0,114,251,0,0,0,41,3,114,12,1,0,0,
- 114,159,0,0,0,114,180,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,5,1,0,0,7,5,
- 0,0,115,10,0,0,0,0,6,13,1,24,1,9,1,9,
- 1,122,27,66,117,105,108,116,105,110,73,109,112,111,114,116,
- 101,114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,
- 0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67,
- 0,0,0,115,4,0,0,0,100,1,0,83,41,2,122,57,
- 82,101,116,117,114,110,32,78,111,110,101,32,97,115,32,98,
- 117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,32,
- 100,111,32,110,111,116,32,104,97,118,101,32,99,111,100,101,
- 32,111,98,106,101,99,116,115,46,78,114,4,0,0,0,41,
- 2,114,12,1,0,0,114,159,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,218,8,103,101,116,95,
- 99,111,100,101,19,5,0,0,115,2,0,0,0,0,4,122,
- 24,66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,
- 46,103,101,116,95,99,111,100,101,99,2,0,0,0,0,0,
- 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,4,
- 0,0,0,100,1,0,83,41,2,122,56,82,101,116,117,114,
- 110,32,78,111,110,101,32,97,115,32,98,117,105,108,116,45,
- 105,110,32,109,111,100,117,108,101,115,32,100,111,32,110,111,
- 116,32,104,97,118,101,32,115,111,117,114,99,101,32,99,111,
- 100,101,46,78,114,4,0,0,0,41,2,114,12,1,0,0,
+ 0,0,0,114,3,1,0,0,216,4,0,0,115,10,0,0,
+ 0,0,6,13,1,24,1,9,1,9,1,122,27,66,117,105,
+ 108,116,105,110,73,109,112,111,114,116,101,114,46,108,111,97,
+ 100,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,
+ 0,2,0,0,0,1,0,0,0,67,0,0,0,115,4,0,
+ 0,0,100,1,0,83,41,2,122,57,82,101,116,117,114,110,
+ 32,78,111,110,101,32,97,115,32,98,117,105,108,116,45,105,
+ 110,32,109,111,100,117,108,101,115,32,100,111,32,110,111,116,
+ 32,104,97,118,101,32,99,111,100,101,32,111,98,106,101,99,
+ 116,115,46,78,114,4,0,0,0,41,2,114,10,1,0,0,
114,159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,218,10,103,101,116,95,115,111,117,114,99,101,
- 25,5,0,0,115,2,0,0,0,0,4,122,26,66,117,105,
- 108,116,105,110,73,109,112,111,114,116,101,114,46,103,101,116,
- 95,115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,
- 2,0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,
- 0,100,1,0,83,41,2,122,52,82,101,116,117,114,110,32,
- 70,97,108,115,101,32,97,115,32,98,117,105,108,116,45,105,
- 110,32,109,111,100,117,108,101,115,32,97,114,101,32,110,101,
- 118,101,114,32,112,97,99,107,97,103,101,115,46,70,114,4,
- 0,0,0,41,2,114,12,1,0,0,114,159,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,220,
- 0,0,0,31,5,0,0,115,2,0,0,0,0,4,122,26,
- 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,
- 105,115,95,112,97,99,107,97,103,101,41,14,114,57,0,0,
- 0,114,56,0,0,0,114,58,0,0,0,114,59,0,0,0,
- 218,12,115,116,97,116,105,99,109,101,116,104,111,100,114,206,
- 0,0,0,218,11,99,108,97,115,115,109,101,116,104,111,100,
- 114,14,1,0,0,114,15,1,0,0,114,162,0,0,0,114,
- 5,1,0,0,114,16,1,0,0,114,17,1,0,0,114,220,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,11,1,0,0,224,4,0,0,
- 115,28,0,0,0,12,7,6,2,18,9,3,1,21,8,3,
- 1,18,11,3,1,21,11,3,1,21,5,3,1,21,5,3,
- 1,114,11,1,0,0,99,0,0,0,0,0,0,0,0,0,
- 0,0,0,5,0,0,0,64,0,0,0,115,193,0,0,0,
- 101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,90,
- 3,0,101,4,0,100,2,0,100,3,0,132,0,0,131,1,
- 0,90,5,0,101,6,0,100,4,0,100,4,0,100,5,0,
- 100,6,0,132,2,0,131,1,0,90,7,0,101,6,0,100,
- 4,0,100,7,0,100,8,0,132,1,0,131,1,0,90,8,
- 0,101,4,0,100,9,0,100,10,0,132,0,0,131,1,0,
- 90,9,0,101,6,0,100,11,0,100,12,0,132,0,0,131,
- 1,0,90,10,0,101,6,0,101,11,0,100,13,0,100,14,
- 0,132,0,0,131,1,0,131,1,0,90,12,0,101,6,0,
- 101,11,0,100,15,0,100,16,0,132,0,0,131,1,0,131,
- 1,0,90,13,0,101,6,0,101,11,0,100,17,0,100,18,
- 0,132,0,0,131,1,0,131,1,0,90,14,0,100,4,0,
- 83,41,19,218,14,70,114,111,122,101,110,73,109,112,111,114,
- 116,101,114,122,142,77,101,116,97,32,112,97,116,104,32,105,
- 109,112,111,114,116,32,102,111,114,32,102,114,111,122,101,110,
- 32,109,111,100,117,108,101,115,46,10,10,32,32,32,32,65,
- 108,108,32,109,101,116,104,111,100,115,32,97,114,101,32,101,
- 105,116,104,101,114,32,99,108,97,115,115,32,111,114,32,115,
- 116,97,116,105,99,32,109,101,116,104,111,100,115,32,116,111,
- 32,97,118,111,105,100,32,116,104,101,32,110,101,101,100,32,
- 116,111,10,32,32,32,32,105,110,115,116,97,110,116,105,97,
- 116,101,32,116,104,101,32,99,108,97,115,115,46,10,10,32,
- 32,32,32,99,1,0,0,0,0,0,0,0,1,0,0,0,
- 2,0,0,0,67,0,0,0,115,16,0,0,0,100,1,0,
- 106,0,0,124,0,0,106,1,0,131,1,0,83,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,22,60,109,111,100,117,108,101,32,123,33,
- 114,125,32,40,102,114,111,122,101,110,41,62,41,2,114,47,
- 0,0,0,114,57,0,0,0,41,1,218,1,109,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,206,0,0,
- 0,47,5,0,0,115,2,0,0,0,0,7,122,26,70,114,
- 111,122,101,110,73,109,112,111,114,116,101,114,46,109,111,100,
- 117,108,101,95,114,101,112,114,78,99,4,0,0,0,0,0,
- 0,0,4,0,0,0,5,0,0,0,67,0,0,0,115,42,
- 0,0,0,116,0,0,106,1,0,124,1,0,131,1,0,114,
- 34,0,116,2,0,124,1,0,124,0,0,100,1,0,100,2,
- 0,131,2,1,83,100,0,0,83,100,0,0,83,41,3,78,
- 114,218,0,0,0,90,6,102,114,111,122,101,110,41,3,114,
- 106,0,0,0,114,163,0,0,0,114,174,0,0,0,41,4,
- 114,12,1,0,0,114,159,0,0,0,114,35,0,0,0,114,
- 13,1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,14,1,0,0,56,5,0,0,115,6,0,0,
- 0,0,2,15,1,19,2,122,24,70,114,111,122,101,110,73,
- 109,112,111,114,116,101,114,46,102,105,110,100,95,115,112,101,
- 99,99,3,0,0,0,0,0,0,0,3,0,0,0,2,0,
- 0,0,67,0,0,0,115,23,0,0,0,116,0,0,106,1,
- 0,124,1,0,131,1,0,114,19,0,124,0,0,83,100,1,
- 0,83,41,2,122,93,70,105,110,100,32,97,32,102,114,111,
- 122,101,110,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,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,106,0,0,0,114,163,0,0,0,
- 41,3,114,12,1,0,0,114,159,0,0,0,114,35,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,15,1,0,0,63,5,0,0,115,2,0,0,0,0,7,
- 122,26,70,114,111,122,101,110,73,109,112,111,114,116,101,114,
- 46,102,105,110,100,95,109,111,100,117,108,101,99,1,0,0,
- 0,0,0,0,0,3,0,0,0,4,0,0,0,67,0,0,
- 0,115,95,0,0,0,124,0,0,106,0,0,106,1,0,125,
- 1,0,116,2,0,106,3,0,124,1,0,131,1,0,115,57,
- 0,116,4,0,100,1,0,106,5,0,124,1,0,131,1,0,
- 100,2,0,124,1,0,131,1,1,130,1,0,110,0,0,116,
- 6,0,116,2,0,106,7,0,124,1,0,131,2,0,125,2,
- 0,116,8,0,124,2,0,124,0,0,106,9,0,131,2,0,
- 1,100,0,0,83,41,3,78,122,27,123,33,114,125,32,105,
- 115,32,110,111,116,32,97,32,102,114,111,122,101,110,32,109,
- 111,100,117,108,101,114,67,0,0,0,41,10,114,209,0,0,
- 0,114,67,0,0,0,114,106,0,0,0,114,163,0,0,0,
- 114,154,0,0,0,114,47,0,0,0,114,114,0,0,0,218,
- 17,103,101,116,95,102,114,111,122,101,110,95,111,98,106,101,
- 99,116,114,176,0,0,0,114,63,0,0,0,41,3,114,180,
- 0,0,0,114,67,0,0,0,114,195,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,2,1,0,
- 0,72,5,0,0,115,12,0,0,0,0,2,12,1,15,1,
- 18,1,12,1,18,1,122,26,70,114,111,122,101,110,73,109,
- 112,111,114,116,101,114,46,101,120,101,99,95,109,111,100,117,
- 108,101,99,2,0,0,0,0,0,0,0,2,0,0,0,3,
- 0,0,0,67,0,0,0,115,13,0,0,0,116,0,0,124,
- 0,0,124,1,0,131,2,0,83,41,1,122,95,76,111,97,
- 100,32,97,32,102,114,111,122,101,110,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,41,1,114,181,
- 0,0,0,41,2,114,12,1,0,0,114,159,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,5,
- 1,0,0,81,5,0,0,115,2,0,0,0,0,7,122,26,
- 70,114,111,122,101,110,73,109,112,111,114,116,101,114,46,108,
- 111,97,100,95,109,111,100,117,108,101,99,2,0,0,0,0,
- 0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,
- 13,0,0,0,116,0,0,106,1,0,124,1,0,131,1,0,
- 83,41,1,122,45,82,101,116,117,114,110,32,116,104,101,32,
- 99,111,100,101,32,111,98,106,101,99,116,32,102,111,114,32,
- 116,104,101,32,102,114,111,122,101,110,32,109,111,100,117,108,
- 101,46,41,2,114,106,0,0,0,114,22,1,0,0,41,2,
- 114,12,1,0,0,114,159,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,16,1,0,0,90,5,
- 0,0,115,2,0,0,0,0,4,122,23,70,114,111,122,101,
- 110,73,109,112,111,114,116,101,114,46,103,101,116,95,99,111,
- 100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
- 0,0,0,67,0,0,0,115,4,0,0,0,100,1,0,83,
- 41,2,122,54,82,101,116,117,114,110,32,78,111,110,101,32,
- 97,115,32,102,114,111,122,101,110,32,109,111,100,117,108,101,
- 115,32,100,111,32,110,111,116,32,104,97,118,101,32,115,111,
- 117,114,99,101,32,99,111,100,101,46,78,114,4,0,0,0,
- 41,2,114,12,1,0,0,114,159,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,17,1,0,0,
- 96,5,0,0,115,2,0,0,0,0,4,122,25,70,114,111,
- 122,101,110,73,109,112,111,114,116,101,114,46,103,101,116,95,
- 115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,2,
- 0,0,0,2,0,0,0,67,0,0,0,115,13,0,0,0,
- 116,0,0,106,1,0,124,1,0,131,1,0,83,41,1,122,
- 46,82,101,116,117,114,110,32,84,114,117,101,32,105,102,32,
- 116,104,101,32,102,114,111,122,101,110,32,109,111,100,117,108,
- 101,32,105,115,32,97,32,112,97,99,107,97,103,101,46,41,
- 2,114,106,0,0,0,90,17,105,115,95,102,114,111,122,101,
- 110,95,112,97,99,107,97,103,101,41,2,114,12,1,0,0,
- 114,159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,220,0,0,0,102,5,0,0,115,2,0,
- 0,0,0,4,122,25,70,114,111,122,101,110,73,109,112,111,
- 114,116,101,114,46,105,115,95,112,97,99,107,97,103,101,41,
- 15,114,57,0,0,0,114,56,0,0,0,114,58,0,0,0,
- 114,59,0,0,0,114,18,1,0,0,114,206,0,0,0,114,
- 19,1,0,0,114,14,1,0,0,114,15,1,0,0,114,2,
- 1,0,0,114,5,1,0,0,114,165,0,0,0,114,16,1,
- 0,0,114,17,1,0,0,114,220,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,20,1,0,0,38,5,0,0,115,28,0,0,0,12,7,
- 6,2,18,9,3,1,21,6,3,1,18,8,18,9,18,9,
- 3,1,21,5,3,1,21,5,3,1,114,20,1,0,0,99,
- 0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,
- 64,0,0,0,115,121,0,0,0,101,0,0,90,1,0,100,
- 0,0,90,2,0,100,1,0,90,3,0,100,2,0,90,4,
- 0,100,3,0,90,5,0,100,4,0,90,6,0,101,7,0,
- 100,5,0,100,6,0,132,0,0,131,1,0,90,8,0,101,
- 7,0,100,7,0,100,8,0,132,0,0,131,1,0,90,9,
- 0,101,7,0,100,9,0,100,9,0,100,10,0,100,11,0,
- 132,2,0,131,1,0,90,10,0,101,7,0,100,9,0,100,
- 12,0,100,13,0,132,1,0,131,1,0,90,11,0,100,9,
- 0,83,41,14,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,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,67,0,0,0,121,23,0,116,0,0,106,1,0,116,
- 0,0,106,2,0,124,1,0,131,2,0,83,87,110,37,0,
- 4,116,3,0,107,10,0,114,62,0,1,1,1,116,0,0,
- 106,1,0,116,0,0,106,4,0,124,1,0,131,2,0,83,
- 89,110,1,0,88,100,0,0,83,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,40,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,114,12,
- 1,0,0,218,3,107,101,121,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,218,14,95,111,112,101,110,95,114,
- 101,103,105,115,116,114,121,121,5,0,0,115,8,0,0,0,
- 0,2,3,1,23,1,13,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,16,0,0,0,67,
- 0,0,0,115,142,0,0,0,124,0,0,106,0,0,114,21,
- 0,124,0,0,106,1,0,125,2,0,110,9,0,124,0,0,
- 106,2,0,125,2,0,124,2,0,106,3,0,100,1,0,124,
- 1,0,100,2,0,116,4,0,106,5,0,100,0,0,100,3,
- 0,133,2,0,25,131,0,2,125,3,0,121,46,0,124,0,
- 0,106,6,0,124,3,0,131,1,0,143,25,0,125,4,0,
- 116,7,0,106,8,0,124,4,0,100,4,0,131,2,0,125,
- 5,0,87,100,0,0,81,88,87,110,22,0,4,116,9,0,
- 107,10,0,114,137,0,1,1,1,100,0,0,83,89,110,1,
- 0,88,124,5,0,83,41,5,78,114,159,0,0,0,90,11,
- 115,121,115,95,118,101,114,115,105,111,110,114,137,0,0,0,
- 114,30,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,47,0,0,0,114,7,0,0,0,
- 218,7,118,101,114,115,105,111,110,114,26,1,0,0,114,24,
- 1,0,0,90,10,81,117,101,114,121,86,97,108,117,101,114,
- 40,0,0,0,41,6,114,12,1,0,0,114,159,0,0,0,
- 90,12,114,101,103,105,115,116,114,121,95,107,101,121,114,25,
- 1,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,5,0,
- 0,0,218,16,95,115,101,97,114,99,104,95,114,101,103,105,
- 115,116,114,121,128,5,0,0,115,22,0,0,0,0,2,9,
- 1,12,2,9,1,15,1,22,1,3,1,18,1,28,1,13,
- 1,9,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,155,0,0,0,124,0,0,106,0,0,124,1,0,131,
- 1,0,125,4,0,124,4,0,100,0,0,107,8,0,114,31,
- 0,100,0,0,83,121,14,0,116,1,0,124,4,0,131,1,
- 0,1,87,110,22,0,4,116,2,0,107,10,0,114,69,0,
- 1,1,1,100,0,0,83,89,110,1,0,88,120,78,0,116,
- 3,0,131,0,0,68,93,67,0,92,2,0,125,5,0,125,
- 6,0,124,4,0,106,4,0,116,5,0,124,6,0,131,1,
- 0,131,1,0,114,80,0,116,6,0,124,1,0,124,5,0,
- 124,1,0,124,4,0,131,2,0,100,1,0,124,4,0,131,
- 2,1,125,7,0,124,7,0,83,113,80,0,87,100,0,0,
- 83,41,2,78,114,218,0,0,0,41,7,114,32,1,0,0,
- 114,39,0,0,0,114,40,0,0,0,114,241,0,0,0,114,
- 231,0,0,0,114,232,0,0,0,114,174,0,0,0,41,8,
- 114,12,1,0,0,114,159,0,0,0,114,35,0,0,0,114,
- 13,1,0,0,114,31,1,0,0,114,170,0,0,0,114,126,
- 0,0,0,114,178,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,14,1,0,0,143,5,0,0,
- 115,24,0,0,0,0,2,15,1,12,1,4,1,3,1,14,
- 1,13,1,9,1,22,1,21,1,21,1,9,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,3,0,0,0,67,
- 0,0,0,115,45,0,0,0,124,0,0,106,0,0,124,1,
- 0,124,2,0,131,2,0,125,3,0,124,3,0,100,1,0,
- 107,9,0,114,37,0,124,3,0,106,1,0,83,100,1,0,
- 83,100,1,0,83,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,14,1,0,0,114,170,0,
- 0,0,41,4,114,12,1,0,0,114,159,0,0,0,114,35,
- 0,0,0,114,178,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,15,1,0,0,158,5,0,0,
- 115,8,0,0,0,0,7,18,1,12,1,7,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,12,114,57,0,0,0,114,56,0,0,0,114,58,0,0,
- 0,114,59,0,0,0,114,29,1,0,0,114,28,1,0,0,
- 114,27,1,0,0,114,19,1,0,0,114,26,1,0,0,114,
- 32,1,0,0,114,14,1,0,0,114,15,1,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,23,1,0,0,109,5,0,0,115,20,0,0,0,
- 12,2,6,3,6,3,6,2,6,2,18,7,18,15,3,1,
- 21,14,3,1,114,23,1,0,0,99,0,0,0,0,0,0,
- 0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,52,
+ 5,0,0,0,218,8,103,101,116,95,99,111,100,101,228,4,
+ 0,0,115,2,0,0,0,0,4,122,24,66,117,105,108,116,
+ 105,110,73,109,112,111,114,116,101,114,46,103,101,116,95,99,
+ 111,100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,
+ 1,0,0,0,67,0,0,0,115,4,0,0,0,100,1,0,
+ 83,41,2,122,56,82,101,116,117,114,110,32,78,111,110,101,
+ 32,97,115,32,98,117,105,108,116,45,105,110,32,109,111,100,
+ 117,108,101,115,32,100,111,32,110,111,116,32,104,97,118,101,
+ 32,115,111,117,114,99,101,32,99,111,100,101,46,78,114,4,
+ 0,0,0,41,2,114,10,1,0,0,114,159,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,10,
+ 103,101,116,95,115,111,117,114,99,101,234,4,0,0,115,2,
+ 0,0,0,0,4,122,26,66,117,105,108,116,105,110,73,109,
+ 112,111,114,116,101,114,46,103,101,116,95,115,111,117,114,99,
+ 101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,0,
+ 0,0,67,0,0,0,115,4,0,0,0,100,1,0,83,41,
+ 2,122,52,82,101,116,117,114,110,32,70,97,108,115,101,32,
+ 97,115,32,98,117,105,108,116,45,105,110,32,109,111,100,117,
+ 108,101,115,32,97,114,101,32,110,101,118,101,114,32,112,97,
+ 99,107,97,103,101,115,46,70,114,4,0,0,0,41,2,114,
+ 10,1,0,0,114,159,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,219,0,0,0,240,4,0,
+ 0,115,2,0,0,0,0,4,122,26,66,117,105,108,116,105,
+ 110,73,109,112,111,114,116,101,114,46,105,115,95,112,97,99,
+ 107,97,103,101,41,14,114,57,0,0,0,114,56,0,0,0,
+ 114,58,0,0,0,114,59,0,0,0,218,12,115,116,97,116,
+ 105,99,109,101,116,104,111,100,114,204,0,0,0,218,11,99,
+ 108,97,115,115,109,101,116,104,111,100,114,12,1,0,0,114,
+ 13,1,0,0,114,162,0,0,0,114,3,1,0,0,114,14,
+ 1,0,0,114,15,1,0,0,114,219,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,9,1,0,0,177,4,0,0,115,28,0,0,0,12,
+ 7,6,2,18,9,3,1,21,8,3,1,18,11,3,1,21,
+ 11,3,1,21,5,3,1,21,5,3,1,114,9,1,0,0,
+ 99,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,
+ 0,64,0,0,0,115,211,0,0,0,101,0,0,90,1,0,
+ 100,0,0,90,2,0,100,1,0,90,3,0,101,4,0,100,
+ 2,0,100,3,0,132,0,0,131,1,0,90,5,0,101,6,
+ 0,100,4,0,100,4,0,100,5,0,100,6,0,132,2,0,
+ 131,1,0,90,7,0,101,6,0,100,4,0,100,7,0,100,
+ 8,0,132,1,0,131,1,0,90,8,0,101,6,0,100,9,
+ 0,100,10,0,132,0,0,131,1,0,90,9,0,101,4,0,
+ 100,11,0,100,12,0,132,0,0,131,1,0,90,10,0,101,
+ 6,0,100,13,0,100,14,0,132,0,0,131,1,0,90,11,
+ 0,101,6,0,101,12,0,100,15,0,100,16,0,132,0,0,
+ 131,1,0,131,1,0,90,13,0,101,6,0,101,12,0,100,
+ 17,0,100,18,0,132,0,0,131,1,0,131,1,0,90,14,
+ 0,101,6,0,101,12,0,100,19,0,100,20,0,132,0,0,
+ 131,1,0,131,1,0,90,15,0,100,4,0,83,41,21,218,
+ 14,70,114,111,122,101,110,73,109,112,111,114,116,101,114,122,
+ 142,77,101,116,97,32,112,97,116,104,32,105,109,112,111,114,
+ 116,32,102,111,114,32,102,114,111,122,101,110,32,109,111,100,
+ 117,108,101,115,46,10,10,32,32,32,32,65,108,108,32,109,
+ 101,116,104,111,100,115,32,97,114,101,32,101,105,116,104,101,
+ 114,32,99,108,97,115,115,32,111,114,32,115,116,97,116,105,
+ 99,32,109,101,116,104,111,100,115,32,116,111,32,97,118,111,
+ 105,100,32,116,104,101,32,110,101,101,100,32,116,111,10,32,
+ 32,32,32,105,110,115,116,97,110,116,105,97,116,101,32,116,
+ 104,101,32,99,108,97,115,115,46,10,10,32,32,32,32,99,
+ 1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,
+ 67,0,0,0,115,16,0,0,0,100,1,0,106,0,0,124,
+ 0,0,106,1,0,131,1,0,83,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,22,60,109,111,100,117,108,101,32,123,33,114,125,32,40,
+ 102,114,111,122,101,110,41,62,41,2,114,47,0,0,0,114,
+ 57,0,0,0,41,1,218,1,109,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,204,0,0,0,0,5,0,
+ 0,115,2,0,0,0,0,7,122,26,70,114,111,122,101,110,
+ 73,109,112,111,114,116,101,114,46,109,111,100,117,108,101,95,
+ 114,101,112,114,78,99,4,0,0,0,0,0,0,0,4,0,
+ 0,0,5,0,0,0,67,0,0,0,115,42,0,0,0,116,
+ 0,0,106,1,0,124,1,0,131,1,0,114,34,0,116,2,
+ 0,124,1,0,124,0,0,100,1,0,100,2,0,131,2,1,
+ 83,100,0,0,83,100,0,0,83,41,3,78,114,217,0,0,
+ 0,90,6,102,114,111,122,101,110,41,3,114,106,0,0,0,
+ 114,163,0,0,0,114,174,0,0,0,41,4,114,10,1,0,
+ 0,114,159,0,0,0,114,35,0,0,0,114,11,1,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
+ 12,1,0,0,9,5,0,0,115,6,0,0,0,0,2,15,
+ 1,19,2,122,24,70,114,111,122,101,110,73,109,112,111,114,
+ 116,101,114,46,102,105,110,100,95,115,112,101,99,99,3,0,
+ 0,0,0,0,0,0,3,0,0,0,2,0,0,0,67,0,
+ 0,0,115,23,0,0,0,116,0,0,106,1,0,124,1,0,
+ 131,1,0,114,19,0,124,0,0,83,100,1,0,83,41,2,
+ 122,93,70,105,110,100,32,97,32,102,114,111,122,101,110,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,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,106,0,0,0,114,163,0,0,0,41,3,114,10,
+ 1,0,0,114,159,0,0,0,114,35,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,13,1,0,
+ 0,16,5,0,0,115,2,0,0,0,0,7,122,26,70,114,
+ 111,122,101,110,73,109,112,111,114,116,101,114,46,102,105,110,
+ 100,95,109,111,100,117,108,101,99,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,0,83,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,10,1,0,
+ 0,114,177,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,114,254,0,0,0,25,5,0,0,115,0,
+ 0,0,0,122,28,70,114,111,122,101,110,73,109,112,111,114,
+ 116,101,114,46,99,114,101,97,116,101,95,109,111,100,117,108,
+ 101,99,1,0,0,0,0,0,0,0,3,0,0,0,4,0,
+ 0,0,67,0,0,0,115,92,0,0,0,124,0,0,106,0,
+ 0,106,1,0,125,1,0,116,2,0,106,3,0,124,1,0,
+ 131,1,0,115,54,0,116,4,0,100,1,0,106,5,0,124,
+ 1,0,131,1,0,100,2,0,124,1,0,131,1,1,130,1,
+ 0,116,6,0,116,2,0,106,7,0,124,1,0,131,2,0,
+ 125,2,0,116,8,0,124,2,0,124,0,0,106,9,0,131,
+ 2,0,1,100,0,0,83,41,3,78,122,27,123,33,114,125,
+ 32,105,115,32,110,111,116,32,97,32,102,114,111,122,101,110,
+ 32,109,111,100,117,108,101,114,67,0,0,0,41,10,114,207,
+ 0,0,0,114,67,0,0,0,114,106,0,0,0,114,163,0,
+ 0,0,114,154,0,0,0,114,47,0,0,0,114,114,0,0,
+ 0,218,17,103,101,116,95,102,114,111,122,101,110,95,111,98,
+ 106,101,99,116,218,4,101,120,101,99,114,63,0,0,0,41,
+ 3,114,178,0,0,0,114,67,0,0,0,114,193,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
+ 255,0,0,0,29,5,0,0,115,12,0,0,0,0,2,12,
+ 1,15,1,18,1,9,1,18,1,122,26,70,114,111,122,101,
+ 110,73,109,112,111,114,116,101,114,46,101,120,101,99,95,109,
+ 111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,
+ 0,0,3,0,0,0,67,0,0,0,115,13,0,0,0,116,
+ 0,0,124,0,0,124,1,0,131,2,0,83,41,1,122,95,
+ 76,111,97,100,32,97,32,102,114,111,122,101,110,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,41,
+ 1,114,179,0,0,0,41,2,114,10,1,0,0,114,159,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,3,1,0,0,38,5,0,0,115,2,0,0,0,0,
+ 7,122,26,70,114,111,122,101,110,73,109,112,111,114,116,101,
+ 114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,0,
+ 0,0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,
+ 0,0,115,13,0,0,0,116,0,0,106,1,0,124,1,0,
+ 131,1,0,83,41,1,122,45,82,101,116,117,114,110,32,116,
+ 104,101,32,99,111,100,101,32,111,98,106,101,99,116,32,102,
+ 111,114,32,116,104,101,32,102,114,111,122,101,110,32,109,111,
+ 100,117,108,101,46,41,2,114,106,0,0,0,114,20,1,0,
+ 0,41,2,114,10,1,0,0,114,159,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,14,1,0,
+ 0,47,5,0,0,115,2,0,0,0,0,4,122,23,70,114,
+ 111,122,101,110,73,109,112,111,114,116,101,114,46,103,101,116,
+ 95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,0,
+ 0,0,1,0,0,0,67,0,0,0,115,4,0,0,0,100,
+ 1,0,83,41,2,122,54,82,101,116,117,114,110,32,78,111,
+ 110,101,32,97,115,32,102,114,111,122,101,110,32,109,111,100,
+ 117,108,101,115,32,100,111,32,110,111,116,32,104,97,118,101,
+ 32,115,111,117,114,99,101,32,99,111,100,101,46,78,114,4,
+ 0,0,0,41,2,114,10,1,0,0,114,159,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,15,
+ 1,0,0,53,5,0,0,115,2,0,0,0,0,4,122,25,
+ 70,114,111,122,101,110,73,109,112,111,114,116,101,114,46,103,
+ 101,116,95,115,111,117,114,99,101,99,2,0,0,0,0,0,
+ 0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,13,
+ 0,0,0,116,0,0,106,1,0,124,1,0,131,1,0,83,
+ 41,1,122,46,82,101,116,117,114,110,32,84,114,117,101,32,
+ 105,102,32,116,104,101,32,102,114,111,122,101,110,32,109,111,
+ 100,117,108,101,32,105,115,32,97,32,112,97,99,107,97,103,
+ 101,46,41,2,114,106,0,0,0,90,17,105,115,95,102,114,
+ 111,122,101,110,95,112,97,99,107,97,103,101,41,2,114,10,
+ 1,0,0,114,159,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,219,0,0,0,59,5,0,0,
+ 115,2,0,0,0,0,4,122,25,70,114,111,122,101,110,73,
+ 109,112,111,114,116,101,114,46,105,115,95,112,97,99,107,97,
+ 103,101,41,16,114,57,0,0,0,114,56,0,0,0,114,58,
+ 0,0,0,114,59,0,0,0,114,16,1,0,0,114,204,0,
+ 0,0,114,17,1,0,0,114,12,1,0,0,114,13,1,0,
+ 0,114,254,0,0,0,114,255,0,0,0,114,3,1,0,0,
+ 114,165,0,0,0,114,14,1,0,0,114,15,1,0,0,114,
+ 219,0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,18,1,0,0,247,4,0,
+ 0,115,30,0,0,0,12,7,6,2,18,9,3,1,21,6,
+ 3,1,18,8,18,4,18,9,18,9,3,1,21,5,3,1,
+ 21,5,3,1,114,18,1,0,0,99,0,0,0,0,0,0,
+ 0,0,0,0,0,0,5,0,0,0,64,0,0,0,115,121,
0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,
- 1,0,90,3,0,100,2,0,100,3,0,132,0,0,90,4,
- 0,100,4,0,100,5,0,132,0,0,90,5,0,101,6,0,
- 90,7,0,100,6,0,83,41,7,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,3,0,0,0,67,0,
- 0,0,115,88,0,0,0,116,0,0,124,0,0,106,1,0,
- 124,1,0,131,1,0,131,1,0,100,1,0,25,125,2,0,
- 124,2,0,106,2,0,100,2,0,100,1,0,131,2,0,100,
- 3,0,25,125,3,0,124,1,0,106,3,0,100,2,0,131,
- 1,0,100,4,0,25,125,4,0,124,3,0,100,5,0,107,
- 2,0,111,87,0,124,4,0,100,5,0,107,3,0,83,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,29,0,0,0,114,116,0,0,0,114,84,0,0,0,114,
- 115,0,0,0,114,72,0,0,0,41,4,114,38,0,0,0,
- 114,239,0,0,0,114,34,0,0,0,114,32,0,0,0,41,
- 5,114,71,0,0,0,114,159,0,0,0,114,131,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,5,0,0,0,114,220,0,0,0,177,5,
- 0,0,115,8,0,0,0,0,3,25,1,22,1,19,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,3,0,0,0,4,0,0,0,67,0,0,0,115,80,
- 0,0,0,124,0,0,106,0,0,124,1,0,106,1,0,131,
- 1,0,125,2,0,124,2,0,100,1,0,107,8,0,114,57,
- 0,116,2,0,100,2,0,106,3,0,124,1,0,106,1,0,
- 131,1,0,131,1,0,130,1,0,110,0,0,116,4,0,116,
- 5,0,124,2,0,124,1,0,106,6,0,131,3,0,1,100,
- 1,0,83,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,7,114,16,1,0,0,114,57,0,0,0,114,154,0,
- 0,0,114,47,0,0,0,114,114,0,0,0,114,176,0,0,
- 0,114,63,0,0,0,41,3,114,71,0,0,0,114,180,0,
- 0,0,114,195,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,2,1,0,0,185,5,0,0,115,
- 10,0,0,0,0,2,18,1,12,1,9,1,18,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,78,41,8,114,57,0,0,
+ 1,0,90,3,0,100,2,0,90,4,0,100,3,0,90,5,
+ 0,100,4,0,90,6,0,101,7,0,100,5,0,100,6,0,
+ 132,0,0,131,1,0,90,8,0,101,7,0,100,7,0,100,
+ 8,0,132,0,0,131,1,0,90,9,0,101,7,0,100,9,
+ 0,100,9,0,100,10,0,100,11,0,132,2,0,131,1,0,
+ 90,10,0,101,7,0,100,9,0,100,12,0,100,13,0,132,
+ 1,0,131,1,0,90,11,0,100,9,0,83,41,14,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,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,67,0,0,0,
+ 121,23,0,116,0,0,106,1,0,116,0,0,106,2,0,124,
+ 1,0,131,2,0,83,87,110,37,0,4,116,3,0,107,10,
+ 0,114,62,0,1,1,1,116,0,0,106,1,0,116,0,0,
+ 106,4,0,124,1,0,131,2,0,83,89,110,1,0,88,100,
+ 0,0,83,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,40,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,114,10,1,0,0,218,3,107,
+ 101,121,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,218,14,95,111,112,101,110,95,114,101,103,105,115,116,114,
+ 121,78,5,0,0,115,8,0,0,0,0,2,3,1,23,1,
+ 13,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,16,0,0,0,67,0,0,0,115,142,0,
+ 0,0,124,0,0,106,0,0,114,21,0,124,0,0,106,1,
+ 0,125,2,0,110,9,0,124,0,0,106,2,0,125,2,0,
+ 124,2,0,106,3,0,100,1,0,124,1,0,100,2,0,116,
+ 4,0,106,5,0,100,0,0,100,3,0,133,2,0,25,131,
+ 0,2,125,3,0,121,46,0,124,0,0,106,6,0,124,3,
+ 0,131,1,0,143,25,0,125,4,0,116,7,0,106,8,0,
+ 124,4,0,100,4,0,131,2,0,125,5,0,87,100,0,0,
+ 81,88,87,110,22,0,4,116,9,0,107,10,0,114,137,0,
+ 1,1,1,100,0,0,83,89,110,1,0,88,124,5,0,83,
+ 41,5,78,114,159,0,0,0,90,11,115,121,115,95,118,101,
+ 114,115,105,111,110,114,137,0,0,0,114,30,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,47,0,0,0,114,7,0,0,0,218,7,118,101,114,115,
+ 105,111,110,114,25,1,0,0,114,23,1,0,0,90,10,81,
+ 117,101,114,121,86,97,108,117,101,114,40,0,0,0,41,6,
+ 114,10,1,0,0,114,159,0,0,0,90,12,114,101,103,105,
+ 115,116,114,121,95,107,101,121,114,24,1,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,5,0,0,0,218,16,95,115,
+ 101,97,114,99,104,95,114,101,103,105,115,116,114,121,85,5,
+ 0,0,115,22,0,0,0,0,2,9,1,12,2,9,1,15,
+ 1,22,1,3,1,18,1,28,1,13,1,9,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,155,0,0,0,
+ 124,0,0,106,0,0,124,1,0,131,1,0,125,4,0,124,
+ 4,0,100,0,0,107,8,0,114,31,0,100,0,0,83,121,
+ 14,0,116,1,0,124,4,0,131,1,0,1,87,110,22,0,
+ 4,116,2,0,107,10,0,114,69,0,1,1,1,100,0,0,
+ 83,89,110,1,0,88,120,78,0,116,3,0,131,0,0,68,
+ 93,67,0,92,2,0,125,5,0,125,6,0,124,4,0,106,
+ 4,0,116,5,0,124,6,0,131,1,0,131,1,0,114,80,
+ 0,116,6,0,124,1,0,124,5,0,124,1,0,124,4,0,
+ 131,2,0,100,1,0,124,4,0,131,2,1,125,7,0,124,
+ 7,0,83,113,80,0,87,100,0,0,83,41,2,78,114,217,
+ 0,0,0,41,7,114,31,1,0,0,114,39,0,0,0,114,
+ 40,0,0,0,114,240,0,0,0,114,230,0,0,0,114,231,
+ 0,0,0,114,174,0,0,0,41,8,114,10,1,0,0,114,
+ 159,0,0,0,114,35,0,0,0,114,11,1,0,0,114,30,
+ 1,0,0,114,170,0,0,0,114,126,0,0,0,114,177,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,12,1,0,0,100,5,0,0,115,24,0,0,0,0,
+ 2,15,1,12,1,4,1,3,1,14,1,13,1,9,1,22,
+ 1,21,1,21,1,9,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,3,0,0,0,67,0,0,0,115,45,0,
+ 0,0,124,0,0,106,0,0,124,1,0,124,2,0,131,2,
+ 0,125,3,0,124,3,0,100,1,0,107,9,0,114,37,0,
+ 124,3,0,106,1,0,83,100,1,0,83,100,1,0,83,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,12,1,0,0,114,170,0,0,0,41,4,114,10,
+ 1,0,0,114,159,0,0,0,114,35,0,0,0,114,177,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,13,1,0,0,115,5,0,0,115,8,0,0,0,0,
+ 7,18,1,12,1,7,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,12,114,57,0,0,
0,114,56,0,0,0,114,58,0,0,0,114,59,0,0,0,
- 114,220,0,0,0,114,2,1,0,0,114,181,0,0,0,114,
- 5,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,33,1,0,0,172,5,0,
- 0,115,8,0,0,0,12,3,6,2,12,8,12,8,114,33,
+ 114,28,1,0,0,114,27,1,0,0,114,26,1,0,0,114,
+ 17,1,0,0,114,25,1,0,0,114,31,1,0,0,114,12,
+ 1,0,0,114,13,1,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,22,1,0,
+ 0,66,5,0,0,115,20,0,0,0,12,2,6,3,6,3,
+ 6,2,6,2,18,7,18,15,3,1,21,14,3,1,114,22,
1,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,0,
- 90,1,0,100,0,0,90,2,0,100,1,0,100,2,0,132,
- 0,0,90,3,0,100,3,0,100,4,0,132,0,0,90,4,
- 0,100,5,0,100,6,0,132,0,0,90,5,0,100,7,0,
- 100,8,0,132,0,0,90,6,0,100,9,0,100,10,0,132,
- 0,0,90,7,0,100,11,0,100,18,0,100,13,0,100,14,
- 0,132,0,1,90,8,0,100,15,0,100,16,0,132,0,0,
- 90,9,0,100,17,0,83,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,10,0,0,
- 0,116,0,0,130,1,0,100,1,0,83,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,
- 73,79,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,218,7,73,79,69,114,114,111,114,41,2,114,
- 71,0,0,0,114,35,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,218,10,112,97,116,104,95,109,
- 116,105,109,101,198,5,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,3,0,0,0,67,0,0,0,115,20,0,
- 0,0,105,1,0,124,0,0,106,0,0,124,1,0,131,1,
- 0,100,1,0,54,83,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,73,79,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,184,0,0,0,41,1,114,36,
- 1,0,0,41,2,114,71,0,0,0,114,35,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,10,
- 112,97,116,104,95,115,116,97,116,115,206,5,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,3,0,0,0,67,
- 0,0,0,115,16,0,0,0,124,0,0,106,0,0,124,2,
- 0,124,3,0,131,2,0,83,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,71,
- 0,0,0,114,142,0,0,0,90,10,99,97,99,104,101,95,
- 112,97,116,104,114,53,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,218,15,95,99,97,99,104,101,
- 95,98,121,116,101,99,111,100,101,219,5,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,0,83,
- 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,71,0,0,0,114,35,0,0,0,114,53,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,38,1,0,0,229,5,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,105,0,0,0,124,
- 0,0,106,0,0,124,1,0,131,1,0,125,2,0,121,19,
- 0,124,0,0,106,1,0,124,2,0,131,1,0,125,3,0,
- 87,110,58,0,4,116,2,0,107,10,0,114,94,0,1,125,
- 4,0,1,122,26,0,116,3,0,100,1,0,100,2,0,124,
- 1,0,131,1,1,124,4,0,130,2,0,87,89,100,3,0,
- 100,3,0,125,4,0,126,4,0,88,110,1,0,88,116,4,
- 0,124,3,0,131,1,0,83,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,114,67,0,0,0,78,41,
- 5,114,239,0,0,0,218,8,103,101,116,95,100,97,116,97,
- 114,40,0,0,0,114,154,0,0,0,114,204,0,0,0,41,
- 5,114,71,0,0,0,114,159,0,0,0,114,35,0,0,0,
- 114,202,0,0,0,218,3,101,120,99,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,17,1,0,0,236,5,
- 0,0,115,14,0,0,0,0,2,15,1,3,1,19,1,18,
- 1,9,1,31,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,218,9,
- 95,111,112,116,105,109,105,122,101,114,29,0,0,0,99,3,
- 0,0,0,1,0,0,0,4,0,0,0,9,0,0,0,67,
- 0,0,0,115,31,0,0,0,116,0,0,116,1,0,124,1,
- 0,124,2,0,100,1,0,100,2,0,100,3,0,100,4,0,
- 124,3,0,131,4,2,83,41,5,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,176,0,
- 0,0,218,12,100,111,110,116,95,105,110,104,101,114,105,116,
- 84,114,118,0,0,0,41,2,114,114,0,0,0,218,7,99,
- 111,109,112,105,108,101,41,4,114,71,0,0,0,114,53,0,
- 0,0,114,35,0,0,0,114,42,1,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,218,14,115,111,117,
- 114,99,101,95,116,111,95,99,111,100,101,246,5,0,0,115,
- 4,0,0,0,0,5,18,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,177,1,0,0,124,
- 0,0,106,0,0,124,1,0,131,1,0,125,2,0,100,1,
- 0,125,3,0,121,16,0,116,1,0,124,2,0,131,1,0,
- 125,4,0,87,110,24,0,4,116,2,0,107,10,0,114,63,
- 0,1,1,1,100,1,0,125,4,0,89,110,202,0,88,121,
- 19,0,124,0,0,106,3,0,124,2,0,131,1,0,125,5,
- 0,87,110,18,0,4,116,4,0,107,10,0,114,103,0,1,
- 1,1,89,110,162,0,88,116,5,0,124,5,0,100,2,0,
- 25,131,1,0,125,3,0,121,19,0,124,0,0,106,6,0,
- 124,4,0,131,1,0,125,6,0,87,110,18,0,4,116,7,
- 0,107,10,0,114,159,0,1,1,1,89,110,106,0,88,121,
- 34,0,116,8,0,124,6,0,100,3,0,124,5,0,100,4,
- 0,124,1,0,100,5,0,124,4,0,131,1,3,125,7,0,
- 87,110,24,0,4,116,9,0,116,10,0,102,2,0,107,10,
- 0,114,220,0,1,1,1,89,110,45,0,88,116,11,0,100,
- 6,0,124,4,0,124,2,0,131,3,0,1,116,12,0,124,
- 7,0,100,4,0,124,1,0,100,7,0,124,4,0,100,8,
- 0,124,2,0,131,1,3,83,124,0,0,106,6,0,124,2,
- 0,131,1,0,125,8,0,124,0,0,106,13,0,124,8,0,
- 124,2,0,131,2,0,125,9,0,116,11,0,100,9,0,124,
- 2,0,131,2,0,1,116,14,0,106,15,0,12,114,173,1,
- 124,4,0,100,1,0,107,9,0,114,173,1,124,3,0,100,
- 1,0,107,9,0,114,173,1,116,16,0,124,9,0,124,3,
- 0,116,17,0,124,8,0,131,1,0,131,3,0,125,6,0,
- 121,36,0,124,0,0,106,18,0,124,2,0,124,4,0,124,
- 6,0,131,3,0,1,116,11,0,100,10,0,124,4,0,131,
- 2,0,1,87,113,173,1,4,116,2,0,107,10,0,114,169,
- 1,1,1,1,89,113,173,1,88,110,0,0,124,9,0,83,
- 41,11,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,184,0,0,0,114,188,0,0,0,114,67,0,
- 0,0,114,35,0,0,0,122,13,123,125,32,109,97,116,99,
- 104,101,115,32,123,125,114,141,0,0,0,114,142,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,239,0,0,0,114,132,0,0,0,114,123,0,
- 0,0,114,37,1,0,0,114,35,1,0,0,114,14,0,0,
- 0,114,40,1,0,0,114,40,0,0,0,114,191,0,0,0,
- 114,154,0,0,0,114,187,0,0,0,114,153,0,0,0,114,
- 196,0,0,0,114,45,1,0,0,114,7,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,199,0,0,0,114,31,0,0,0,114,39,1,
- 0,0,41,10,114,71,0,0,0,114,159,0,0,0,114,142,
- 0,0,0,114,189,0,0,0,114,141,0,0,0,218,2,115,
- 116,114,53,0,0,0,218,10,98,121,116,101,115,95,100,97,
- 116,97,114,202,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,5,
- 0,0,0,114,16,1,0,0,254,5,0,0,115,78,0,0,
- 0,0,7,15,1,6,1,3,1,16,1,13,1,11,2,3,
- 1,19,1,13,1,5,2,16,1,3,1,19,1,13,1,5,
- 2,3,1,9,1,12,1,13,1,19,1,5,2,9,1,7,
- 1,15,1,6,1,7,1,15,1,18,1,13,1,22,1,12,
- 1,9,1,15,1,3,1,19,1,17,1,13,1,8,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,139,0,0,0,41,10,114,57,
- 0,0,0,114,56,0,0,0,114,58,0,0,0,114,36,1,
- 0,0,114,37,1,0,0,114,39,1,0,0,114,38,1,0,
- 0,114,17,1,0,0,114,45,1,0,0,114,16,1,0,0,
- 114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,34,1,0,0,196,5,0,0,115,14,0,
- 0,0,12,2,12,8,12,13,12,10,12,7,12,10,18,8,
- 114,34,1,0,0,99,0,0,0,0,0,0,0,0,0,0,
- 0,0,4,0,0,0,0,0,0,0,115,112,0,0,0,101,
- 0,0,90,1,0,100,0,0,90,2,0,100,1,0,90,3,
- 0,100,2,0,100,3,0,132,0,0,90,4,0,100,4,0,
- 100,5,0,132,0,0,90,5,0,100,6,0,100,7,0,132,
- 0,0,90,6,0,101,7,0,135,0,0,102,1,0,100,8,
- 0,100,9,0,134,0,0,131,1,0,90,8,0,101,7,0,
- 100,10,0,100,11,0,132,0,0,131,1,0,90,9,0,100,
- 12,0,100,13,0,132,0,0,90,10,0,135,0,0,83,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,22,0,0,0,
- 124,1,0,124,0,0,95,0,0,124,2,0,124,0,0,95,
- 1,0,100,1,0,83,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,67,0,0,0,114,35,0,
- 0,0,41,3,114,71,0,0,0,114,159,0,0,0,114,35,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,72,0,0,0,55,6,0,0,115,4,0,0,0,
- 0,3,9,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,34,
- 0,0,0,124,0,0,106,0,0,124,1,0,106,0,0,107,
- 2,0,111,33,0,124,0,0,106,1,0,124,1,0,106,1,
- 0,107,2,0,83,41,1,78,41,2,114,225,0,0,0,114,
- 63,0,0,0,41,2,114,71,0,0,0,114,228,0,0,0,
+ 2,0,0,0,64,0,0,0,115,64,0,0,0,101,0,0,
+ 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,
+ 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,
+ 0,132,0,0,90,5,0,100,6,0,100,7,0,132,0,0,
+ 90,6,0,101,7,0,90,8,0,100,8,0,83,41,9,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,
+ 3,0,0,0,67,0,0,0,115,88,0,0,0,116,0,0,
+ 124,0,0,106,1,0,124,1,0,131,1,0,131,1,0,100,
+ 1,0,25,125,2,0,124,2,0,106,2,0,100,2,0,100,
+ 1,0,131,2,0,100,3,0,25,125,3,0,124,1,0,106,
+ 3,0,100,2,0,131,1,0,100,4,0,25,125,4,0,124,
+ 3,0,100,5,0,107,2,0,111,87,0,124,4,0,100,5,
+ 0,107,3,0,83,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,29,0,0,0,114,116,0,0,0,
+ 114,84,0,0,0,114,115,0,0,0,114,72,0,0,0,41,
+ 4,114,38,0,0,0,114,238,0,0,0,114,34,0,0,0,
+ 114,32,0,0,0,41,5,114,71,0,0,0,114,159,0,0,
+ 0,114,131,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,5,0,0,0,114,
- 230,0,0,0,61,6,0,0,115,4,0,0,0,0,1,18,
- 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,26,0,0,0,116,0,
- 0,124,0,0,106,1,0,131,1,0,116,0,0,124,0,0,
- 106,2,0,131,1,0,65,83,41,1,78,41,3,218,4,104,
- 97,115,104,114,67,0,0,0,114,35,0,0,0,41,1,114,
- 71,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,8,95,95,104,97,115,104,95,95,65,6,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,22,0,0,0,116,0,0,116,1,0,124,0,0,
- 131,2,0,106,2,0,124,1,0,131,1,0,83,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,49,
- 1,0,0,114,5,1,0,0,41,2,114,71,0,0,0,114,
- 159,0,0,0,41,1,114,225,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,5,1,0,0,68,6,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,7,0,0,0,124,0,0,106,0,0,83,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,35,
- 0,0,0,41,2,114,71,0,0,0,114,159,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,239,
- 0,0,0,80,6,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,8,0,0,0,67,0,0,0,115,41,0,0,
- 0,116,0,0,106,1,0,124,1,0,100,1,0,131,2,0,
- 143,17,0,125,2,0,124,2,0,106,2,0,131,0,0,83,
- 87,100,2,0,81,88,100,2,0,83,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,49,0,0,0,
- 114,50,0,0,0,90,4,114,101,97,100,41,3,114,71,0,
- 0,0,114,35,0,0,0,114,54,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,40,1,0,0,
- 85,6,0,0,115,4,0,0,0,0,2,21,1,122,19,70,
- 105,108,101,76,111,97,100,101,114,46,103,101,116,95,100,97,
- 116,97,41,11,114,57,0,0,0,114,56,0,0,0,114,58,
- 0,0,0,114,59,0,0,0,114,72,0,0,0,114,230,0,
- 0,0,114,51,1,0,0,114,157,0,0,0,114,5,1,0,
- 0,114,239,0,0,0,114,40,1,0,0,114,4,0,0,0,
- 114,4,0,0,0,41,1,114,225,0,0,0,114,5,0,0,
- 0,114,49,1,0,0,50,6,0,0,115,14,0,0,0,12,
- 3,6,2,12,6,12,4,12,3,24,12,18,5,114,49,1,
- 0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,
- 0,0,0,64,0,0,0,115,64,0,0,0,101,0,0,90,
- 1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,2,
- 0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,0,
- 132,0,0,90,5,0,100,6,0,100,7,0,100,8,0,100,
- 9,0,132,0,1,90,6,0,100,10,0,83,41,11,114,9,
- 1,0,0,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,36,0,0,0,116,0,0,
- 124,1,0,131,1,0,125,2,0,105,2,0,124,2,0,106,
- 1,0,100,1,0,54,124,2,0,106,2,0,100,2,0,54,
- 83,41,3,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,114,184,0,0,0,114,185,0,0,0,
- 41,3,114,39,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,71,0,0,
- 0,114,35,0,0,0,114,47,1,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,37,1,0,0,95,
- 6,0,0,115,4,0,0,0,0,2,12,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,34,
- 0,0,0,116,0,0,124,1,0,131,1,0,125,4,0,124,
- 0,0,106,1,0,124,2,0,124,3,0,100,1,0,124,4,
- 0,131,2,1,83,41,2,78,218,5,95,109,111,100,101,41,
- 2,114,145,0,0,0,114,38,1,0,0,41,5,114,71,0,
- 0,0,114,142,0,0,0,114,141,0,0,0,114,53,0,0,
- 0,114,42,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,39,1,0,0,100,6,0,0,115,4,
- 0,0,0,0,2,12,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,114,55,1,0,0,105,182,
- 1,0,0,99,3,0,0,0,1,0,0,0,9,0,0,0,
- 17,0,0,0,67,0,0,0,115,53,1,0,0,116,0,0,
- 124,1,0,131,1,0,92,2,0,125,4,0,125,5,0,103,
- 0,0,125,6,0,120,54,0,124,4,0,114,80,0,116,1,
- 0,124,4,0,131,1,0,12,114,80,0,116,0,0,124,4,
- 0,131,1,0,92,2,0,125,4,0,125,7,0,124,6,0,
- 106,2,0,124,7,0,131,1,0,1,113,27,0,87,120,132,
- 0,116,3,0,124,6,0,131,1,0,68,93,118,0,125,7,
- 0,116,4,0,124,4,0,124,7,0,131,2,0,125,4,0,
- 121,17,0,116,5,0,106,6,0,124,4,0,131,1,0,1,
- 87,113,94,0,4,116,7,0,107,10,0,114,155,0,1,1,
- 1,119,94,0,89,113,94,0,4,116,8,0,107,10,0,114,
- 211,0,1,125,8,0,1,122,25,0,116,9,0,100,1,0,
- 124,4,0,124,8,0,131,3,0,1,100,2,0,83,87,89,
- 100,2,0,100,2,0,125,8,0,126,8,0,88,113,94,0,
- 88,113,94,0,87,121,33,0,116,10,0,124,1,0,124,2,
- 0,124,3,0,131,3,0,1,116,9,0,100,3,0,124,1,
- 0,131,2,0,1,87,110,53,0,4,116,8,0,107,10,0,
- 114,48,1,1,125,8,0,1,122,21,0,116,9,0,100,1,
- 0,124,1,0,124,8,0,131,3,0,1,87,89,100,2,0,
- 100,2,0,125,8,0,126,8,0,88,110,1,0,88,100,2,
- 0,83,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,11,114,
- 38,0,0,0,114,46,0,0,0,114,224,0,0,0,114,33,
- 0,0,0,114,28,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,40,0,0,0,114,153,0,0,0,114,
- 55,0,0,0,41,9,114,71,0,0,0,114,35,0,0,0,
- 114,53,0,0,0,114,55,1,0,0,114,234,0,0,0,114,
- 131,0,0,0,114,27,0,0,0,114,23,0,0,0,114,41,
- 1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,38,1,0,0,105,6,0,0,115,38,0,0,0,
- 0,2,18,1,6,2,22,1,18,1,17,2,19,1,15,1,
- 3,1,17,1,13,2,7,1,18,3,16,1,27,1,3,1,
- 16,1,17,1,18,2,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,57,0,0,0,114,56,0,0,0,114,58,
- 0,0,0,114,59,0,0,0,114,37,1,0,0,114,39,1,
- 0,0,114,38,1,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,9,1,0,0,
- 91,6,0,0,115,8,0,0,0,12,2,6,2,12,5,12,
- 5,114,9,1,0,0,99,0,0,0,0,0,0,0,0,0,
- 0,0,0,2,0,0,0,64,0,0,0,115,46,0,0,0,
- 101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,90,
- 3,0,100,2,0,100,3,0,132,0,0,90,4,0,100,4,
- 0,100,5,0,132,0,0,90,5,0,100,6,0,83,41,7,
- 114,8,1,0,0,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,6,0,0,0,67,0,0,0,115,76,0,0,0,124,0,
- 0,106,0,0,124,1,0,131,1,0,125,2,0,124,0,0,
- 106,1,0,124,2,0,131,1,0,125,3,0,116,2,0,124,
- 3,0,100,1,0,124,1,0,100,2,0,124,2,0,131,1,
- 2,125,4,0,116,3,0,124,4,0,100,1,0,124,1,0,
- 100,3,0,124,2,0,131,1,2,83,41,4,78,114,67,0,
- 0,0,114,35,0,0,0,114,141,0,0,0,41,4,114,239,
- 0,0,0,114,40,1,0,0,114,191,0,0,0,114,196,0,
- 0,0,41,5,114,71,0,0,0,114,159,0,0,0,114,35,
- 0,0,0,114,53,0,0,0,114,48,1,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,16,1,0,
- 0,138,6,0,0,115,8,0,0,0,0,1,15,1,15,1,
- 24,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,0,83,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,71,0,0,0,114,159,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,17,1,0,0,
- 144,6,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,
- 57,0,0,0,114,56,0,0,0,114,58,0,0,0,114,59,
- 0,0,0,114,16,1,0,0,114,17,1,0,0,114,4,0,
+ 219,0,0,0,134,5,0,0,115,8,0,0,0,0,3,25,
+ 1,22,1,19,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,0,83,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,71,0,0,0,114,177,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,254,0,0,
+ 0,142,5,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,4,0,0,0,67,0,0,0,115,77,0,0,
+ 0,124,0,0,106,0,0,124,1,0,106,1,0,131,1,0,
+ 125,2,0,124,2,0,100,1,0,107,8,0,114,54,0,116,
+ 2,0,100,2,0,106,3,0,124,1,0,106,1,0,131,1,
+ 0,131,1,0,130,1,0,116,4,0,116,5,0,124,2,0,
+ 124,1,0,106,6,0,131,3,0,1,100,1,0,83,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,7,114,14,
+ 1,0,0,114,57,0,0,0,114,154,0,0,0,114,47,0,
+ 0,0,114,114,0,0,0,114,21,1,0,0,114,63,0,0,
+ 0,41,3,114,71,0,0,0,114,178,0,0,0,114,193,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,8,1,0,0,134,6,0,0,115,6,0,0,0,12,
- 2,6,2,12,6,114,8,1,0,0,99,0,0,0,0,0,
- 0,0,0,0,0,0,0,3,0,0,0,64,0,0,0,115,
- 130,0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,
- 100,1,0,90,3,0,100,2,0,100,3,0,132,0,0,90,
- 4,0,100,4,0,100,5,0,132,0,0,90,5,0,100,6,
- 0,100,7,0,132,0,0,90,6,0,101,7,0,100,8,0,
- 100,9,0,132,0,0,131,1,0,90,8,0,100,10,0,100,
- 11,0,132,0,0,90,9,0,100,12,0,100,13,0,132,0,
- 0,90,10,0,100,14,0,100,15,0,132,0,0,90,11,0,
- 101,7,0,100,16,0,100,17,0,132,0,0,131,1,0,90,
- 12,0,100,18,0,83,41,19,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,22,0,0,0,124,1,0,124,0,0,95,0,0,124,
- 2,0,124,0,0,95,1,0,100,0,0,83,41,1,78,41,
- 2,114,67,0,0,0,114,35,0,0,0,41,3,114,71,0,
- 0,0,114,67,0,0,0,114,35,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,72,0,0,0,
- 161,6,0,0,115,4,0,0,0,0,1,9,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,34,0,0,0,124,0,0,106,0,0,124,1,0,106,0,
- 0,107,2,0,111,33,0,124,0,0,106,1,0,124,1,0,
- 106,1,0,107,2,0,83,41,1,78,41,2,114,225,0,0,
- 0,114,63,0,0,0,41,2,114,71,0,0,0,114,228,0,
+ 0,114,255,0,0,0,145,5,0,0,115,10,0,0,0,0,
+ 2,18,1,12,1,9,1,15,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,78,41,9,114,57,0,0,0,114,56,0,0,
+ 0,114,58,0,0,0,114,59,0,0,0,114,219,0,0,0,
+ 114,254,0,0,0,114,255,0,0,0,114,179,0,0,0,114,
+ 3,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
+ 0,0,0,114,5,0,0,0,114,32,1,0,0,129,5,0,
+ 0,115,10,0,0,0,12,3,6,2,12,8,12,3,12,8,
+ 114,32,1,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,0,90,1,0,100,0,0,90,2,0,100,1,0,100,2,
+ 0,132,0,0,90,3,0,100,3,0,100,4,0,132,0,0,
+ 90,4,0,100,5,0,100,6,0,132,0,0,90,5,0,100,
+ 7,0,100,8,0,132,0,0,90,6,0,100,9,0,100,10,
+ 0,132,0,0,90,7,0,100,11,0,100,18,0,100,13,0,
+ 100,14,0,132,0,1,90,8,0,100,15,0,100,16,0,132,
+ 0,0,90,9,0,100,17,0,83,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,10,
+ 0,0,0,116,0,0,130,1,0,100,1,0,83,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,73,79,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,218,7,73,79,69,114,114,111,114,41,
+ 2,114,71,0,0,0,114,35,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,218,10,112,97,116,104,
+ 95,109,116,105,109,101,158,5,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,3,0,0,0,67,0,0,0,115,
+ 20,0,0,0,105,1,0,124,0,0,106,0,0,124,1,0,
+ 131,1,0,100,1,0,54,83,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,73,79,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,182,0,0,0,41,1,
+ 114,35,1,0,0,41,2,114,71,0,0,0,114,35,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,10,112,97,116,104,95,115,116,97,116,115,166,5,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,3,0,0,
+ 0,67,0,0,0,115,16,0,0,0,124,0,0,106,0,0,
+ 124,2,0,124,3,0,131,2,0,83,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,71,0,0,0,114,142,0,0,0,90,10,99,97,99,104,
+ 101,95,112,97,116,104,114,53,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,218,15,95,99,97,99,
+ 104,101,95,98,121,116,101,99,111,100,101,179,5,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,
+ 0,83,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,71,0,0,0,114,35,0,0,0,114,53,
+ 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,114,37,1,0,0,189,5,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,105,0,0,
+ 0,124,0,0,106,0,0,124,1,0,131,1,0,125,2,0,
+ 121,19,0,124,0,0,106,1,0,124,2,0,131,1,0,125,
+ 3,0,87,110,58,0,4,116,2,0,107,10,0,114,94,0,
+ 1,125,4,0,1,122,26,0,116,3,0,100,1,0,100,2,
+ 0,124,1,0,131,1,1,124,4,0,130,2,0,87,89,100,
+ 3,0,100,3,0,125,4,0,126,4,0,88,110,1,0,88,
+ 116,4,0,124,3,0,131,1,0,83,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,114,67,0,0,0,
+ 78,41,5,114,238,0,0,0,218,8,103,101,116,95,100,97,
+ 116,97,114,40,0,0,0,114,154,0,0,0,114,202,0,0,
+ 0,41,5,114,71,0,0,0,114,159,0,0,0,114,35,0,
+ 0,0,114,200,0,0,0,218,3,101,120,99,114,4,0,0,
+ 0,114,4,0,0,0,114,5,0,0,0,114,15,1,0,0,
+ 196,5,0,0,115,14,0,0,0,0,2,15,1,3,1,19,
+ 1,18,1,9,1,31,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,
+ 218,9,95,111,112,116,105,109,105,122,101,114,29,0,0,0,
+ 99,3,0,0,0,1,0,0,0,4,0,0,0,9,0,0,
+ 0,67,0,0,0,115,31,0,0,0,116,0,0,116,1,0,
+ 124,1,0,124,2,0,100,1,0,100,2,0,100,3,0,100,
+ 4,0,124,3,0,131,4,2,83,41,5,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,
+ 21,1,0,0,218,12,100,111,110,116,95,105,110,104,101,114,
+ 105,116,84,114,118,0,0,0,41,2,114,114,0,0,0,218,
+ 7,99,111,109,112,105,108,101,41,4,114,71,0,0,0,114,
+ 53,0,0,0,114,35,0,0,0,114,41,1,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,218,14,115,
+ 111,117,114,99,101,95,116,111,95,99,111,100,101,206,5,0,
+ 0,115,4,0,0,0,0,5,18,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,174,1,0,
+ 0,124,0,0,106,0,0,124,1,0,131,1,0,125,2,0,
+ 100,1,0,125,3,0,121,16,0,116,1,0,124,2,0,131,
+ 1,0,125,4,0,87,110,24,0,4,116,2,0,107,10,0,
+ 114,63,0,1,1,1,100,1,0,125,4,0,89,110,202,0,
+ 88,121,19,0,124,0,0,106,3,0,124,2,0,131,1,0,
+ 125,5,0,87,110,18,0,4,116,4,0,107,10,0,114,103,
+ 0,1,1,1,89,110,162,0,88,116,5,0,124,5,0,100,
+ 2,0,25,131,1,0,125,3,0,121,19,0,124,0,0,106,
+ 6,0,124,4,0,131,1,0,125,6,0,87,110,18,0,4,
+ 116,7,0,107,10,0,114,159,0,1,1,1,89,110,106,0,
+ 88,121,34,0,116,8,0,124,6,0,100,3,0,124,5,0,
+ 100,4,0,124,1,0,100,5,0,124,4,0,131,1,3,125,
+ 7,0,87,110,24,0,4,116,9,0,116,10,0,102,2,0,
+ 107,10,0,114,220,0,1,1,1,89,110,45,0,88,116,11,
+ 0,100,6,0,124,4,0,124,2,0,131,3,0,1,116,12,
+ 0,124,7,0,100,4,0,124,1,0,100,7,0,124,4,0,
+ 100,8,0,124,2,0,131,1,3,83,124,0,0,106,6,0,
+ 124,2,0,131,1,0,125,8,0,124,0,0,106,13,0,124,
+ 8,0,124,2,0,131,2,0,125,9,0,116,11,0,100,9,
+ 0,124,2,0,131,2,0,1,116,14,0,106,15,0,12,114,
+ 170,1,124,4,0,100,1,0,107,9,0,114,170,1,124,3,
+ 0,100,1,0,107,9,0,114,170,1,116,16,0,124,9,0,
+ 124,3,0,116,17,0,124,8,0,131,1,0,131,3,0,125,
+ 6,0,121,36,0,124,0,0,106,18,0,124,2,0,124,4,
+ 0,124,6,0,131,3,0,1,116,11,0,100,10,0,124,4,
+ 0,131,2,0,1,87,110,18,0,4,116,2,0,107,10,0,
+ 114,169,1,1,1,1,89,110,1,0,88,124,9,0,83,41,
+ 11,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,182,0,0,0,114,186,0,0,0,114,67,0,0,
+ 0,114,35,0,0,0,122,13,123,125,32,109,97,116,99,104,
+ 101,115,32,123,125,114,141,0,0,0,114,142,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,238,0,0,0,114,132,0,0,0,114,123,0,0,
+ 0,114,36,1,0,0,114,34,1,0,0,114,14,0,0,0,
+ 114,39,1,0,0,114,40,0,0,0,114,189,0,0,0,114,
+ 154,0,0,0,114,185,0,0,0,114,153,0,0,0,114,194,
+ 0,0,0,114,44,1,0,0,114,7,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,197,0,0,0,114,31,0,0,0,114,38,1,0,
+ 0,41,10,114,71,0,0,0,114,159,0,0,0,114,142,0,
+ 0,0,114,187,0,0,0,114,141,0,0,0,218,2,115,116,
+ 114,53,0,0,0,218,10,98,121,116,101,115,95,100,97,116,
+ 97,114,200,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,5,0,
+ 0,0,114,14,1,0,0,214,5,0,0,115,78,0,0,0,
+ 0,7,15,1,6,1,3,1,16,1,13,1,11,2,3,1,
+ 19,1,13,1,5,2,16,1,3,1,19,1,13,1,5,2,
+ 3,1,9,1,12,1,13,1,19,1,5,2,9,1,7,1,
+ 15,1,6,1,7,1,15,1,18,1,13,1,22,1,12,1,
+ 9,1,15,1,3,1,19,1,17,1,13,1,5,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,139,0,0,0,41,10,114,57,0,
+ 0,0,114,56,0,0,0,114,58,0,0,0,114,35,1,0,
+ 0,114,36,1,0,0,114,38,1,0,0,114,37,1,0,0,
+ 114,15,1,0,0,114,44,1,0,0,114,14,1,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,114,33,1,0,0,156,5,0,0,115,14,0,0,
+ 0,12,2,12,8,12,13,12,10,12,7,12,10,18,8,114,
+ 33,1,0,0,99,0,0,0,0,0,0,0,0,0,0,0,
+ 0,4,0,0,0,0,0,0,0,115,112,0,0,0,101,0,
+ 0,90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,
+ 100,2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,
+ 5,0,132,0,0,90,5,0,100,6,0,100,7,0,132,0,
+ 0,90,6,0,101,7,0,135,0,0,102,1,0,100,8,0,
+ 100,9,0,134,0,0,131,1,0,90,8,0,101,7,0,100,
+ 10,0,100,11,0,132,0,0,131,1,0,90,9,0,100,12,
+ 0,100,13,0,132,0,0,90,10,0,135,0,0,83,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,22,0,0,0,124,
+ 1,0,124,0,0,95,0,0,124,2,0,124,0,0,95,1,
+ 0,100,1,0,83,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,67,0,0,0,114,35,0,0,
+ 0,41,3,114,71,0,0,0,114,159,0,0,0,114,35,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,230,0,0,0,165,6,0,0,115,4,0,0,0,0,
- 1,18,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,26,0,0,0,116,0,0,124,0,0,106,
- 1,0,131,1,0,116,0,0,124,0,0,106,2,0,131,1,
- 0,65,83,41,1,78,41,3,114,50,1,0,0,114,67,0,
- 0,0,114,35,0,0,0,41,1,114,71,0,0,0,114,4,
- 0,0,0,114,4,0,0,0,114,5,0,0,0,114,51,1,
- 0,0,169,6,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,4,0,0,0,11,0,0,0,67,0,0,0,
- 115,183,0,0,0,116,0,0,124,1,0,131,1,0,143,29,
- 0,1,116,1,0,116,2,0,106,3,0,124,1,0,124,0,
- 0,106,4,0,131,3,0,125,2,0,87,100,1,0,81,88,
- 116,5,0,100,2,0,124,0,0,106,4,0,131,2,0,1,
- 124,0,0,106,6,0,124,1,0,131,1,0,125,3,0,124,
- 3,0,114,124,0,116,7,0,124,2,0,100,3,0,131,2,
- 0,12,114,124,0,116,8,0,124,0,0,106,4,0,131,1,
- 0,100,4,0,25,103,1,0,124,2,0,95,9,0,110,0,
- 0,124,0,0,124,2,0,95,10,0,124,2,0,106,11,0,
- 124,2,0,95,12,0,124,3,0,115,179,0,124,2,0,106,
- 12,0,106,13,0,100,5,0,131,1,0,100,4,0,25,124,
- 2,0,95,12,0,110,0,0,124,2,0,83,41,6,122,25,
- 76,111,97,100,32,97,110,32,101,120,116,101,110,115,105,111,
- 110,32,109,111,100,117,108,101,46,78,122,33,101,120,116,101,
- 110,115,105,111,110,32,109,111,100,117,108,101,32,108,111,97,
- 100,101,100,32,102,114,111,109,32,123,33,114,125,114,247,0,
- 0,0,114,84,0,0,0,114,116,0,0,0,41,14,114,69,
- 0,0,0,114,114,0,0,0,114,106,0,0,0,90,12,108,
- 111,97,100,95,100,121,110,97,109,105,99,114,35,0,0,0,
- 114,153,0,0,0,114,220,0,0,0,114,60,0,0,0,114,
- 38,0,0,0,114,247,0,0,0,114,205,0,0,0,114,57,
- 0,0,0,114,251,0,0,0,114,32,0,0,0,41,4,114,
- 71,0,0,0,114,159,0,0,0,114,180,0,0,0,114,220,
+ 0,114,72,0,0,0,15,6,0,0,115,4,0,0,0,0,
+ 3,9,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,34,0,
+ 0,0,124,0,0,106,0,0,124,1,0,106,0,0,107,2,
+ 0,111,33,0,124,0,0,106,1,0,124,1,0,106,1,0,
+ 107,2,0,83,41,1,78,41,2,114,224,0,0,0,114,63,
+ 0,0,0,41,2,114,71,0,0,0,114,227,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,229,
+ 0,0,0,21,6,0,0,115,4,0,0,0,0,1,18,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,26,0,0,0,116,0,0,
+ 124,0,0,106,1,0,131,1,0,116,0,0,124,0,0,106,
+ 2,0,131,1,0,65,83,41,1,78,41,3,218,4,104,97,
+ 115,104,114,67,0,0,0,114,35,0,0,0,41,1,114,71,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,5,1,0,0,172,6,0,0,115,24,0,0,0,
- 0,5,13,1,9,1,21,1,16,1,15,1,22,1,28,1,
- 9,1,12,1,6,1,28,1,122,31,69,120,116,101,110,115,
- 105,111,110,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,4,0,0,0,3,0,0,0,115,48,
- 0,0,0,116,0,0,124,0,0,106,1,0,131,1,0,100,
- 1,0,25,137,0,0,116,2,0,135,0,0,102,1,0,100,
- 2,0,100,3,0,134,0,0,116,3,0,68,131,1,0,131,
- 1,0,83,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,29,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,31,0,0,0,124,0,0,93,21,0,125,1,0,
- 136,0,0,100,0,0,124,1,0,23,107,2,0,86,1,113,
- 3,0,100,1,0,83,41,2,114,72,0,0,0,78,114,4,
- 0,0,0,41,2,114,22,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,5,0,0,0,114,77,0,0,0,193,6,
- 0,0,115,2,0,0,0,6,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,38,
- 0,0,0,114,35,0,0,0,114,78,0,0,0,218,18,69,
- 88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69,
- 83,41,2,114,71,0,0,0,114,159,0,0,0,114,4,0,
- 0,0,41,1,114,59,1,0,0,114,5,0,0,0,114,220,
- 0,0,0,190,6,0,0,115,6,0,0,0,0,2,19,1,
- 18,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,0,83,
- 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,71,0,0,0,
- 114,159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,16,1,0,0,196,6,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,0,83,
- 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,
+ 0,0,218,8,95,95,104,97,115,104,95,95,25,6,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,22,0,0,0,116,0,0,116,1,0,124,0,0,131,
+ 2,0,106,2,0,124,1,0,131,1,0,83,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,48,1,
+ 0,0,114,3,1,0,0,41,2,114,71,0,0,0,114,159,
+ 0,0,0,41,1,114,224,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,3,1,0,0,28,6,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,7,0,0,0,124,0,0,106,0,0,83,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,35,0,
+ 0,0,41,2,114,71,0,0,0,114,159,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,114,238,0,
+ 0,0,40,6,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,8,0,0,0,67,0,0,0,115,41,0,0,0,
+ 116,0,0,106,1,0,124,1,0,100,1,0,131,2,0,143,
+ 17,0,125,2,0,124,2,0,106,2,0,131,0,0,83,87,
+ 100,2,0,81,88,100,2,0,83,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,49,0,0,0,114,
+ 50,0,0,0,90,4,114,101,97,100,41,3,114,71,0,0,
+ 0,114,35,0,0,0,114,54,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,39,1,0,0,45,
+ 6,0,0,115,4,0,0,0,0,2,21,1,122,19,70,105,
+ 108,101,76,111,97,100,101,114,46,103,101,116,95,100,97,116,
+ 97,41,11,114,57,0,0,0,114,56,0,0,0,114,58,0,
+ 0,0,114,59,0,0,0,114,72,0,0,0,114,229,0,0,
+ 0,114,50,1,0,0,114,157,0,0,0,114,3,1,0,0,
+ 114,238,0,0,0,114,39,1,0,0,114,4,0,0,0,114,
+ 4,0,0,0,41,1,114,224,0,0,0,114,5,0,0,0,
+ 114,48,1,0,0,10,6,0,0,115,14,0,0,0,12,3,
+ 6,2,12,6,12,4,12,3,24,12,18,5,114,48,1,0,
+ 0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,0,
+ 0,0,64,0,0,0,115,64,0,0,0,101,0,0,90,1,
+ 0,100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,
+ 100,3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,
+ 0,0,90,5,0,100,6,0,100,7,0,100,8,0,100,9,
+ 0,132,0,1,90,6,0,100,10,0,83,41,11,114,7,1,
+ 0,0,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,36,0,0,0,116,0,0,124,
+ 1,0,131,1,0,125,2,0,105,2,0,124,2,0,106,1,
+ 0,100,1,0,54,124,2,0,106,2,0,100,2,0,54,83,
+ 41,3,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,114,182,0,0,0,114,183,0,0,0,41,
+ 3,114,39,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,71,0,0,0,
+ 114,35,0,0,0,114,46,1,0,0,114,4,0,0,0,114,
+ 4,0,0,0,114,5,0,0,0,114,36,1,0,0,55,6,
+ 0,0,115,4,0,0,0,0,2,12,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,34,0,
+ 0,0,116,0,0,124,1,0,131,1,0,125,4,0,124,0,
+ 0,106,1,0,124,2,0,124,3,0,100,1,0,124,4,0,
+ 131,2,1,83,41,2,78,218,5,95,109,111,100,101,41,2,
+ 114,145,0,0,0,114,37,1,0,0,41,5,114,71,0,0,
+ 0,114,142,0,0,0,114,141,0,0,0,114,53,0,0,0,
+ 114,42,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,38,1,0,0,60,6,0,0,115,4,0,
+ 0,0,0,2,12,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,114,54,1,0,0,105,182,1,
+ 0,0,99,3,0,0,0,1,0,0,0,9,0,0,0,17,
+ 0,0,0,67,0,0,0,115,53,1,0,0,116,0,0,124,
+ 1,0,131,1,0,92,2,0,125,4,0,125,5,0,103,0,
+ 0,125,6,0,120,54,0,124,4,0,114,80,0,116,1,0,
+ 124,4,0,131,1,0,12,114,80,0,116,0,0,124,4,0,
+ 131,1,0,92,2,0,125,4,0,125,7,0,124,6,0,106,
+ 2,0,124,7,0,131,1,0,1,113,27,0,87,120,132,0,
+ 116,3,0,124,6,0,131,1,0,68,93,118,0,125,7,0,
+ 116,4,0,124,4,0,124,7,0,131,2,0,125,4,0,121,
+ 17,0,116,5,0,106,6,0,124,4,0,131,1,0,1,87,
+ 113,94,0,4,116,7,0,107,10,0,114,155,0,1,1,1,
+ 119,94,0,89,113,94,0,4,116,8,0,107,10,0,114,211,
+ 0,1,125,8,0,1,122,25,0,116,9,0,100,1,0,124,
+ 4,0,124,8,0,131,3,0,1,100,2,0,83,87,89,100,
+ 2,0,100,2,0,125,8,0,126,8,0,88,113,94,0,88,
+ 113,94,0,87,121,33,0,116,10,0,124,1,0,124,2,0,
+ 124,3,0,131,3,0,1,116,9,0,100,3,0,124,1,0,
+ 131,2,0,1,87,110,53,0,4,116,8,0,107,10,0,114,
+ 48,1,1,125,8,0,1,122,21,0,116,9,0,100,1,0,
+ 124,1,0,124,8,0,131,3,0,1,87,89,100,2,0,100,
+ 2,0,125,8,0,126,8,0,88,110,1,0,88,100,2,0,
+ 83,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,11,114,38,
+ 0,0,0,114,46,0,0,0,114,223,0,0,0,114,33,0,
+ 0,0,114,28,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,40,0,0,0,114,153,0,0,0,114,55,
+ 0,0,0,41,9,114,71,0,0,0,114,35,0,0,0,114,
+ 53,0,0,0,114,54,1,0,0,114,233,0,0,0,114,131,
+ 0,0,0,114,27,0,0,0,114,23,0,0,0,114,40,1,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,37,1,0,0,65,6,0,0,115,38,0,0,0,0,
+ 2,18,1,6,2,22,1,18,1,17,2,19,1,15,1,3,
+ 1,17,1,13,2,7,1,18,3,16,1,27,1,3,1,16,
+ 1,17,1,18,2,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,57,0,0,0,114,56,0,0,0,114,58,0,
+ 0,0,114,59,0,0,0,114,36,1,0,0,114,38,1,0,
+ 0,114,37,1,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,7,1,0,0,51,
+ 6,0,0,115,8,0,0,0,12,2,6,2,12,5,12,5,
+ 114,7,1,0,0,99,0,0,0,0,0,0,0,0,0,0,
+ 0,0,2,0,0,0,64,0,0,0,115,46,0,0,0,101,
+ 0,0,90,1,0,100,0,0,90,2,0,100,1,0,90,3,
+ 0,100,2,0,100,3,0,132,0,0,90,4,0,100,4,0,
+ 100,5,0,132,0,0,90,5,0,100,6,0,83,41,7,114,
+ 6,1,0,0,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,
+ 6,0,0,0,67,0,0,0,115,76,0,0,0,124,0,0,
+ 106,0,0,124,1,0,131,1,0,125,2,0,124,0,0,106,
+ 1,0,124,2,0,131,1,0,125,3,0,116,2,0,124,3,
+ 0,100,1,0,124,1,0,100,2,0,124,2,0,131,1,2,
+ 125,4,0,116,3,0,124,4,0,100,1,0,124,1,0,100,
+ 3,0,124,2,0,131,1,2,83,41,4,78,114,67,0,0,
+ 0,114,35,0,0,0,114,141,0,0,0,41,4,114,238,0,
+ 0,0,114,39,1,0,0,114,189,0,0,0,114,194,0,0,
+ 0,41,5,114,71,0,0,0,114,159,0,0,0,114,35,0,
+ 0,0,114,53,0,0,0,114,47,1,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,5,0,0,0,114,14,1,0,0,
+ 98,6,0,0,115,8,0,0,0,0,1,15,1,15,1,24,
+ 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,0,83,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,71,0,0,0,114,159,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,17,1,0,0,200,
- 6,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,
- 7,0,0,0,124,0,0,106,0,0,83,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,35,0,0,0,
- 41,2,114,71,0,0,0,114,159,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,239,0,0,0,
- 204,6,0,0,115,2,0,0,0,0,3,122,32,69,120,116,
+ 114,4,0,0,0,114,5,0,0,0,114,15,1,0,0,104,
+ 6,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,57,
+ 0,0,0,114,56,0,0,0,114,58,0,0,0,114,59,0,
+ 0,0,114,14,1,0,0,114,15,1,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 114,6,1,0,0,94,6,0,0,115,6,0,0,0,12,2,
+ 6,2,12,6,114,6,1,0,0,99,0,0,0,0,0,0,
+ 0,0,0,0,0,0,3,0,0,0,64,0,0,0,115,130,
+ 0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,
+ 1,0,90,3,0,100,2,0,100,3,0,132,0,0,90,4,
+ 0,100,4,0,100,5,0,132,0,0,90,5,0,100,6,0,
+ 100,7,0,132,0,0,90,6,0,101,7,0,100,8,0,100,
+ 9,0,132,0,0,131,1,0,90,8,0,100,10,0,100,11,
+ 0,132,0,0,90,9,0,100,12,0,100,13,0,132,0,0,
+ 90,10,0,100,14,0,100,15,0,132,0,0,90,11,0,101,
+ 7,0,100,16,0,100,17,0,132,0,0,131,1,0,90,12,
+ 0,100,18,0,83,41,19,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,22,0,0,0,124,1,0,124,0,0,95,0,0,124,2,
+ 0,124,0,0,95,1,0,100,0,0,83,41,1,78,41,2,
+ 114,67,0,0,0,114,35,0,0,0,41,3,114,71,0,0,
+ 0,114,67,0,0,0,114,35,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,72,0,0,0,121,
+ 6,0,0,115,4,0,0,0,0,1,9,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,
+ 34,0,0,0,124,0,0,106,0,0,124,1,0,106,0,0,
+ 107,2,0,111,33,0,124,0,0,106,1,0,124,1,0,106,
+ 1,0,107,2,0,83,41,1,78,41,2,114,224,0,0,0,
+ 114,63,0,0,0,41,2,114,71,0,0,0,114,227,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 114,229,0,0,0,125,6,0,0,115,4,0,0,0,0,1,
+ 18,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,26,0,0,0,116,0,0,124,0,0,106,1,
+ 0,131,1,0,116,0,0,124,0,0,106,2,0,131,1,0,
+ 65,83,41,1,78,41,3,114,49,1,0,0,114,67,0,0,
+ 0,114,35,0,0,0,41,1,114,71,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,50,1,0,
+ 0,129,6,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,4,0,0,0,11,0,0,0,67,0,0,0,115,
+ 177,0,0,0,116,0,0,124,1,0,131,1,0,143,29,0,
+ 1,116,1,0,116,2,0,106,3,0,124,1,0,124,0,0,
+ 106,4,0,131,3,0,125,2,0,87,100,1,0,81,88,116,
+ 5,0,100,2,0,124,0,0,106,4,0,131,2,0,1,124,
+ 0,0,106,6,0,124,1,0,131,1,0,125,3,0,124,3,
+ 0,114,121,0,116,7,0,124,2,0,100,3,0,131,2,0,
+ 12,114,121,0,116,8,0,124,0,0,106,4,0,131,1,0,
+ 100,4,0,25,103,1,0,124,2,0,95,9,0,124,0,0,
+ 124,2,0,95,10,0,124,2,0,106,11,0,124,2,0,95,
+ 12,0,124,3,0,115,173,0,124,2,0,106,12,0,106,13,
+ 0,100,5,0,131,1,0,100,4,0,25,124,2,0,95,12,
+ 0,124,2,0,83,41,6,122,25,76,111,97,100,32,97,110,
+ 32,101,120,116,101,110,115,105,111,110,32,109,111,100,117,108,
+ 101,46,78,122,33,101,120,116,101,110,115,105,111,110,32,109,
+ 111,100,117,108,101,32,108,111,97,100,101,100,32,102,114,111,
+ 109,32,123,33,114,125,114,246,0,0,0,114,84,0,0,0,
+ 114,116,0,0,0,41,14,114,69,0,0,0,114,114,0,0,
+ 0,114,106,0,0,0,90,12,108,111,97,100,95,100,121,110,
+ 97,109,105,99,114,35,0,0,0,114,153,0,0,0,114,219,
+ 0,0,0,114,60,0,0,0,114,38,0,0,0,114,246,0,
+ 0,0,114,203,0,0,0,114,57,0,0,0,114,249,0,0,
+ 0,114,32,0,0,0,41,4,114,71,0,0,0,114,159,0,
+ 0,0,114,178,0,0,0,114,219,0,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,5,0,0,0,114,3,1,0,0,
+ 132,6,0,0,115,24,0,0,0,0,5,13,1,9,1,21,
+ 1,16,1,15,1,22,1,25,1,9,1,12,1,6,1,25,
+ 1,122,31,69,120,116,101,110,115,105,111,110,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,4,
+ 0,0,0,3,0,0,0,115,48,0,0,0,116,0,0,124,
+ 0,0,106,1,0,131,1,0,100,1,0,25,137,0,0,116,
+ 2,0,135,0,0,102,1,0,100,2,0,100,3,0,134,0,
+ 0,116,3,0,68,131,1,0,131,1,0,83,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,29,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,31,0,0,0,
+ 124,0,0,93,21,0,125,1,0,136,0,0,100,0,0,124,
+ 1,0,23,107,2,0,86,1,113,3,0,100,1,0,83,41,
+ 2,114,72,0,0,0,78,114,4,0,0,0,41,2,114,22,
+ 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,5,0,
+ 0,0,114,77,0,0,0,153,6,0,0,115,2,0,0,0,
+ 6,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,38,0,0,0,114,35,0,0,
+ 0,114,78,0,0,0,218,18,69,88,84,69,78,83,73,79,
+ 78,95,83,85,70,70,73,88,69,83,41,2,114,71,0,0,
+ 0,114,159,0,0,0,114,4,0,0,0,41,1,114,58,1,
+ 0,0,114,5,0,0,0,114,219,0,0,0,150,6,0,0,
+ 115,6,0,0,0,0,2,19,1,18,1,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,102,105,108,101,110,97,109,101,78,41,13,
- 114,57,0,0,0,114,56,0,0,0,114,58,0,0,0,114,
- 59,0,0,0,114,72,0,0,0,114,230,0,0,0,114,51,
- 1,0,0,114,157,0,0,0,114,5,1,0,0,114,220,0,
- 0,0,114,16,1,0,0,114,17,1,0,0,114,239,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,57,1,0,0,153,6,0,0,115,18,
- 0,0,0,12,6,6,2,12,4,12,4,12,3,18,18,12,
- 6,12,4,12,4,114,57,1,0,0,99,0,0,0,0,0,
- 0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,
- 130,0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,
- 100,1,0,90,3,0,100,2,0,100,3,0,132,0,0,90,
- 4,0,100,4,0,100,5,0,132,0,0,90,5,0,100,6,
- 0,100,7,0,132,0,0,90,6,0,100,8,0,100,9,0,
- 132,0,0,90,7,0,100,10,0,100,11,0,132,0,0,90,
- 8,0,100,12,0,100,13,0,132,0,0,90,9,0,100,14,
- 0,100,15,0,132,0,0,90,10,0,100,16,0,100,17,0,
- 132,0,0,90,11,0,100,18,0,100,19,0,132,0,0,90,
- 12,0,100,20,0,83,41,21,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,
- 2,0,0,0,67,0,0,0,115,52,0,0,0,124,1,0,
- 124,0,0,95,0,0,124,2,0,124,0,0,95,1,0,116,
- 2,0,124,0,0,106,3,0,131,0,0,131,1,0,124,0,
- 0,95,4,0,124,3,0,124,0,0,95,5,0,100,0,0,
- 83,41,1,78,41,6,114,70,0,0,0,114,254,0,0,0,
- 114,232,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,71,0,0,0,114,
- 67,0,0,0,114,35,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,5,0,0,0,114,72,0,0,0,217,6,0,0,115,8,
- 0,0,0,0,1,9,1,9,1,21,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,53,0,0,0,124,0,
- 0,106,0,0,106,1,0,100,1,0,131,1,0,92,3,0,
- 125,1,0,125,2,0,125,3,0,124,2,0,100,2,0,107,
- 2,0,114,43,0,100,6,0,83,124,1,0,100,5,0,102,
- 2,0,83,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,116,0,0,0,114,30,0,0,0,114,
- 7,0,0,0,114,35,0,0,0,114,247,0,0,0,41,2,
- 122,3,115,121,115,122,4,112,97,116,104,41,2,114,70,0,
- 0,0,114,32,0,0,0,41,4,114,71,0,0,0,114,234,
- 0,0,0,218,3,100,111,116,114,94,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,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,223,6,0,0,115,8,0,0,0,0,2,
- 27,1,12,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,38,0,0,0,124,0,0,106,0,0,131,0,
- 0,92,2,0,125,1,0,125,2,0,116,1,0,116,2,0,
- 106,3,0,124,1,0,25,124,2,0,131,2,0,83,41,1,
- 78,41,4,114,67,1,0,0,114,62,0,0,0,114,7,0,
- 0,0,114,73,0,0,0,41,3,114,71,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,5,0,0,
- 0,114,62,1,0,0,233,6,0,0,115,4,0,0,0,0,
- 1,18,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,3,0,0,0,67,0,0,0,115,127,0,0,0,116,0,
- 0,124,0,0,106,1,0,131,0,0,131,1,0,125,1,0,
- 124,1,0,124,0,0,106,2,0,107,3,0,114,120,0,124,
- 0,0,106,3,0,124,0,0,106,4,0,124,1,0,131,2,
- 0,125,2,0,124,2,0,100,0,0,107,9,0,114,108,0,
- 124,2,0,106,5,0,100,0,0,107,8,0,114,108,0,124,
- 2,0,106,6,0,114,108,0,124,2,0,106,6,0,124,0,
- 0,95,7,0,113,108,0,110,0,0,124,1,0,124,0,0,
- 95,2,0,110,0,0,124,0,0,106,7,0,83,41,1,78,
- 41,8,114,232,0,0,0,114,62,1,0,0,114,63,1,0,
- 0,114,64,1,0,0,114,70,0,0,0,114,170,0,0,0,
- 114,221,0,0,0,114,254,0,0,0,41,3,114,71,0,0,
- 0,90,11,112,97,114,101,110,116,95,112,97,116,104,114,178,
+ 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,0,83,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,71,0,0,0,114,159,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,114,14,1,
+ 0,0,156,6,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,0,83,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,71,0,0,0,114,
+ 159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,114,15,1,0,0,160,6,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,7,0,0,0,124,0,0,
+ 106,0,0,83,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,35,0,0,0,41,2,114,71,0,0,0,
+ 114,159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,238,0,0,0,164,6,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,13,114,57,0,0,0,114,56,
+ 0,0,0,114,58,0,0,0,114,59,0,0,0,114,72,0,
+ 0,0,114,229,0,0,0,114,50,1,0,0,114,157,0,0,
+ 0,114,3,1,0,0,114,219,0,0,0,114,14,1,0,0,
+ 114,15,1,0,0,114,238,0,0,0,114,4,0,0,0,114,
+ 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,56,
+ 1,0,0,113,6,0,0,115,18,0,0,0,12,6,6,2,
+ 12,4,12,4,12,3,18,18,12,6,12,4,12,4,114,56,
+ 1,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
+ 2,0,0,0,64,0,0,0,115,130,0,0,0,101,0,0,
+ 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,
+ 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,
+ 0,132,0,0,90,5,0,100,6,0,100,7,0,132,0,0,
+ 90,6,0,100,8,0,100,9,0,132,0,0,90,7,0,100,
+ 10,0,100,11,0,132,0,0,90,8,0,100,12,0,100,13,
+ 0,132,0,0,90,9,0,100,14,0,100,15,0,132,0,0,
+ 90,10,0,100,16,0,100,17,0,132,0,0,90,11,0,100,
+ 18,0,100,19,0,132,0,0,90,12,0,100,20,0,83,41,
+ 21,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,2,0,0,0,67,0,0,
+ 0,115,52,0,0,0,124,1,0,124,0,0,95,0,0,124,
+ 2,0,124,0,0,95,1,0,116,2,0,124,0,0,106,3,
+ 0,131,0,0,131,1,0,124,0,0,95,4,0,124,3,0,
+ 124,0,0,95,5,0,100,0,0,83,41,1,78,41,6,114,
+ 70,0,0,0,114,252,0,0,0,114,231,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,71,0,0,0,114,67,0,0,0,114,35,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,5,0,0,0,114,72,
+ 0,0,0,177,6,0,0,115,8,0,0,0,0,1,9,1,
+ 9,1,21,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,53,0,0,0,124,0,0,106,0,0,106,1,0,
+ 100,1,0,131,1,0,92,3,0,125,1,0,125,2,0,125,
+ 3,0,124,2,0,100,2,0,107,2,0,114,43,0,100,6,
+ 0,83,124,1,0,100,5,0,102,2,0,83,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,116,
+ 0,0,0,114,30,0,0,0,114,7,0,0,0,114,35,0,
+ 0,0,114,246,0,0,0,41,2,122,3,115,121,115,122,4,
+ 112,97,116,104,41,2,114,70,0,0,0,114,32,0,0,0,
+ 41,4,114,71,0,0,0,114,233,0,0,0,218,3,100,111,
+ 116,114,94,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,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,183,6,
+ 0,0,115,8,0,0,0,0,2,27,1,12,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,38,0,0,
+ 0,124,0,0,106,0,0,131,0,0,92,2,0,125,1,0,
+ 125,2,0,116,1,0,116,2,0,106,3,0,124,1,0,25,
+ 124,2,0,131,2,0,83,41,1,78,41,4,114,66,1,0,
+ 0,114,62,0,0,0,114,7,0,0,0,114,73,0,0,0,
+ 41,3,114,71,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,5,0,0,0,114,61,1,0,0,193,
+ 6,0,0,115,4,0,0,0,0,1,18,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,3,0,0,0,67,0,
+ 0,0,115,118,0,0,0,116,0,0,124,0,0,106,1,0,
+ 131,0,0,131,1,0,125,1,0,124,1,0,124,0,0,106,
+ 2,0,107,3,0,114,111,0,124,0,0,106,3,0,124,0,
+ 0,106,4,0,124,1,0,131,2,0,125,2,0,124,2,0,
+ 100,0,0,107,9,0,114,102,0,124,2,0,106,5,0,100,
+ 0,0,107,8,0,114,102,0,124,2,0,106,6,0,114,102,
+ 0,124,2,0,106,6,0,124,0,0,95,7,0,124,1,0,
+ 124,0,0,95,2,0,124,0,0,106,7,0,83,41,1,78,
+ 41,8,114,231,0,0,0,114,61,1,0,0,114,62,1,0,
+ 0,114,63,1,0,0,114,70,0,0,0,114,170,0,0,0,
+ 114,220,0,0,0,114,252,0,0,0,41,3,114,71,0,0,
+ 0,90,11,112,97,114,101,110,116,95,112,97,116,104,114,177,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,12,95,114,101,99,97,108,99,117,108,97,116,101,
- 237,6,0,0,115,16,0,0,0,0,2,18,1,15,1,21,
- 3,27,1,9,1,18,1,12,1,122,27,95,78,97,109,101,
+ 197,6,0,0,115,16,0,0,0,0,2,18,1,15,1,21,
+ 3,27,1,9,1,12,1,9,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,2,0,0,0,67,0,0,0,115,16,0,0,0,
116,0,0,124,0,0,106,1,0,131,0,0,131,1,0,83,
- 41,1,78,41,2,218,4,105,116,101,114,114,68,1,0,0,
+ 41,1,78,41,2,218,4,105,116,101,114,114,67,1,0,0,
41,1,114,71,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,8,95,95,105,116,101,114,95,95,
- 250,6,0,0,115,2,0,0,0,0,1,122,23,95,78,97,
+ 210,6,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,1,0,0,0,0,0,0,0,1,0,0,
0,2,0,0,0,67,0,0,0,115,16,0,0,0,116,0,
0,124,0,0,106,1,0,131,0,0,131,1,0,83,41,1,
- 78,41,2,114,31,0,0,0,114,68,1,0,0,41,1,114,
+ 78,41,2,114,31,0,0,0,114,67,1,0,0,41,1,114,
71,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,7,95,95,108,101,110,95,95,253,6,0,0,
+ 0,0,0,218,7,95,95,108,101,110,95,95,213,6,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,2,0,0,0,
67,0,0,0,115,16,0,0,0,100,1,0,106,0,0,124,
0,0,106,1,0,131,1,0,83,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,47,0,0,0,114,254,0,0,0,41,1,
+ 125,41,41,2,114,47,0,0,0,114,252,0,0,0,41,1,
114,71,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,101,0,0,0,0,7,0,0,115,2,0,
+ 5,0,0,0,114,101,0,0,0,216,6,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,2,0,0,0,67,0,
0,0,115,16,0,0,0,124,1,0,124,0,0,106,0,0,
- 131,0,0,107,6,0,83,41,1,78,41,1,114,68,1,0,
+ 131,0,0,107,6,0,83,41,1,78,41,1,114,67,1,0,
0,41,2,114,71,0,0,0,218,4,105,116,101,109,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,
- 95,99,111,110,116,97,105,110,115,95,95,3,7,0,0,115,
+ 95,99,111,110,116,97,105,110,115,95,95,219,6,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,
2,0,0,0,67,0,0,0,115,20,0,0,0,124,0,0,
106,0,0,106,1,0,124,1,0,131,1,0,1,100,0,0,
- 83,41,1,78,41,2,114,254,0,0,0,114,224,0,0,0,
- 41,2,114,71,0,0,0,114,72,1,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,224,0,0,0,
- 6,7,0,0,115,2,0,0,0,0,1,122,21,95,78,97,
+ 83,41,1,78,41,2,114,252,0,0,0,114,223,0,0,0,
+ 41,2,114,71,0,0,0,114,71,1,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,5,0,0,0,114,223,0,0,0,
+ 222,6,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,13,114,57,0,0,0,114,56,0,0,0,114,
- 58,0,0,0,114,59,0,0,0,114,72,0,0,0,114,67,
- 1,0,0,114,62,1,0,0,114,68,1,0,0,114,70,1,
- 0,0,114,71,1,0,0,114,101,0,0,0,114,73,1,0,
- 0,114,224,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,61,1,0,0,210,
+ 58,0,0,0,114,59,0,0,0,114,72,0,0,0,114,66,
+ 1,0,0,114,61,1,0,0,114,67,1,0,0,114,69,1,
+ 0,0,114,70,1,0,0,114,101,0,0,0,114,72,1,0,
+ 0,114,223,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,60,1,0,0,170,
6,0,0,115,20,0,0,0,12,5,6,2,12,6,12,10,
- 12,4,12,13,12,3,12,3,12,3,12,3,114,61,1,0,
+ 12,4,12,13,12,3,12,3,12,3,12,3,114,60,1,0,
0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,
- 0,0,64,0,0,0,115,106,0,0,0,101,0,0,90,1,
+ 0,0,64,0,0,0,115,118,0,0,0,101,0,0,90,1,
0,100,0,0,90,2,0,100,1,0,100,2,0,132,0,0,
90,3,0,101,4,0,100,3,0,100,4,0,132,0,0,131,
1,0,90,5,0,100,5,0,100,6,0,132,0,0,90,6,
0,100,7,0,100,8,0,132,0,0,90,7,0,100,9,0,
100,10,0,132,0,0,90,8,0,100,11,0,100,12,0,132,
0,0,90,9,0,100,13,0,100,14,0,132,0,0,90,10,
- 0,100,15,0,83,41,16,114,252,0,0,0,99,4,0,0,
- 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0,
- 0,115,25,0,0,0,116,0,0,124,1,0,124,2,0,124,
- 3,0,131,3,0,124,0,0,95,1,0,100,0,0,83,41,
- 1,78,41,2,114,61,1,0,0,114,254,0,0,0,41,4,
- 114,71,0,0,0,114,67,0,0,0,114,35,0,0,0,114,
- 65,1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,72,0,0,0,12,7,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,2,0,0,0,67,
- 0,0,0,115,16,0,0,0,100,1,0,106,0,0,124,1,
- 0,106,1,0,131,1,0,83,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,47,0,0,
- 0,114,57,0,0,0,41,2,114,12,1,0,0,114,180,0,
- 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,206,0,0,0,15,7,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,0,83,41,2,78,
- 84,114,4,0,0,0,41,2,114,71,0,0,0,114,159,0,
- 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,220,0,0,0,24,7,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,0,83,41,2,78,114,
- 30,0,0,0,114,4,0,0,0,41,2,114,71,0,0,0,
- 114,159,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,17,1,0,0,27,7,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,22,0,0,0,116,0,0,100,1,
- 0,100,2,0,100,3,0,100,4,0,100,5,0,131,3,1,
- 83,41,6,78,114,30,0,0,0,122,8,60,115,116,114,105,
- 110,103,62,114,176,0,0,0,114,43,1,0,0,84,41,1,
- 114,44,1,0,0,41,2,114,71,0,0,0,114,159,0,0,
- 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,16,1,0,0,30,7,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,100,15,0,100,16,0,132,0,0,90,11,0,100,17,0,
+ 83,41,18,114,250,0,0,0,99,4,0,0,0,0,0,0,
+ 0,4,0,0,0,4,0,0,0,67,0,0,0,115,25,0,
+ 0,0,116,0,0,124,1,0,124,2,0,124,3,0,131,3,
+ 0,124,0,0,95,1,0,100,0,0,83,41,1,78,41,2,
+ 114,60,1,0,0,114,252,0,0,0,41,4,114,71,0,0,
+ 0,114,67,0,0,0,114,35,0,0,0,114,64,1,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
+ 72,0,0,0,228,6,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,2,0,0,0,67,0,0,0,115,
+ 16,0,0,0,100,1,0,106,0,0,124,1,0,106,1,0,
+ 131,1,0,83,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,47,0,0,0,114,57,0,
+ 0,0,41,2,114,10,1,0,0,114,178,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,114,204,0,
+ 0,0,231,6,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,0,0,83,41,1,78,114,4,0,0,
- 0,41,2,114,71,0,0,0,114,180,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,2,1,0,
- 0,33,7,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,3,0,0,0,67,0,0,0,115,
- 29,0,0,0,116,0,0,100,1,0,124,0,0,106,1,0,
- 131,2,0,1,116,2,0,124,0,0,124,1,0,131,2,0,
- 83,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,
- 3,114,153,0,0,0,114,254,0,0,0,114,181,0,0,0,
- 41,2,114,71,0,0,0,114,159,0,0,0,114,4,0,0,
- 0,114,4,0,0,0,114,5,0,0,0,114,5,1,0,0,
- 36,7,0,0,115,4,0,0,0,0,7,16,1,122,28,95,
+ 115,4,0,0,0,100,1,0,83,41,2,78,84,114,4,0,
+ 0,0,41,2,114,71,0,0,0,114,159,0,0,0,114,4,
+ 0,0,0,114,4,0,0,0,114,5,0,0,0,114,219,0,
+ 0,0,240,6,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,
- 108,111,97,100,95,109,111,100,117,108,101,78,41,11,114,57,
- 0,0,0,114,56,0,0,0,114,58,0,0,0,114,72,0,
- 0,0,114,19,1,0,0,114,206,0,0,0,114,220,0,0,
- 0,114,17,1,0,0,114,16,1,0,0,114,2,1,0,0,
- 114,5,1,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,252,0,0,0,11,7,
- 0,0,115,14,0,0,0,12,1,12,3,18,9,12,3,12,
- 3,12,3,12,3,114,252,0,0,0,99,0,0,0,0,0,
- 0,0,0,0,0,0,0,5,0,0,0,64,0,0,0,115,
- 160,0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,
- 100,1,0,90,3,0,101,4,0,100,2,0,100,3,0,132,
- 0,0,131,1,0,90,5,0,101,4,0,100,4,0,100,5,
- 0,132,0,0,131,1,0,90,6,0,101,4,0,100,6,0,
- 100,7,0,132,0,0,131,1,0,90,7,0,101,4,0,100,
- 8,0,100,9,0,132,0,0,131,1,0,90,8,0,101,4,
- 0,100,10,0,100,11,0,100,12,0,132,1,0,131,1,0,
- 90,9,0,101,4,0,100,10,0,100,10,0,100,13,0,100,
- 14,0,132,2,0,131,1,0,90,10,0,101,4,0,100,10,
- 0,100,15,0,100,16,0,132,1,0,131,1,0,90,11,0,
- 100,10,0,83,41,17,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,58,0,0,0,120,51,0,116,
- 0,0,106,1,0,106,2,0,131,0,0,68,93,34,0,125,
- 1,0,116,3,0,124,1,0,100,1,0,131,2,0,114,16,
- 0,124,1,0,106,4,0,131,0,0,1,113,16,0,113,16,
- 0,87,100,2,0,83,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,7,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,
- 60,0,0,0,114,75,1,0,0,41,2,114,12,1,0,0,
- 218,6,102,105,110,100,101,114,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,75,1,0,0,53,7,0,0,
- 115,6,0,0,0,0,4,22,1,15,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,94,
- 0,0,0,116,0,0,106,1,0,115,28,0,116,2,0,106,
- 3,0,100,1,0,116,4,0,131,2,0,1,110,0,0,120,
- 59,0,116,0,0,106,1,0,68,93,44,0,125,2,0,121,
- 14,0,124,2,0,124,1,0,131,1,0,83,87,113,38,0,
- 4,116,5,0,107,10,0,114,81,0,1,1,1,119,38,0,
- 89,113,38,0,88,113,38,0,87,100,2,0,83,100,2,0,
- 83,41,3,122,113,83,101,97,114,99,104,32,115,101,113,117,
- 101,110,99,101,32,111,102,32,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,10,10,32,32,32,32,32,32,32,32,
- 73,102,32,39,104,111,111,107,115,39,32,105,115,32,102,97,
- 108,115,101,32,116,104,101,110,32,117,115,101,32,115,121,115,
- 46,112,97,116,104,95,104,111,111,107,115,46,10,10,32,32,
- 32,32,32,32,32,32,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,78,
- 41,6,114,7,0,0,0,218,10,112,97,116,104,95,104,111,
- 111,107,115,114,167,0,0,0,114,168,0,0,0,114,169,0,
- 0,0,114,154,0,0,0,41,3,114,12,1,0,0,114,35,
- 0,0,0,90,4,104,111,111,107,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,218,11,95,112,97,116,104,95,
- 104,111,111,107,115,61,7,0,0,115,16,0,0,0,0,7,
- 9,1,19,1,16,1,3,1,14,1,13,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,11,0,0,0,67,0,0,0,115,97,0,0,0,
- 124,1,0,100,1,0,107,2,0,114,27,0,116,0,0,106,
- 1,0,131,0,0,125,1,0,110,0,0,121,17,0,116,2,
- 0,106,3,0,124,1,0,25,125,2,0,87,110,46,0,4,
- 116,4,0,107,10,0,114,92,0,1,1,1,124,0,0,106,
- 5,0,124,1,0,131,1,0,125,2,0,124,2,0,116,2,
- 0,106,3,0,124,1,0,60,89,110,1,0,88,124,2,0,
- 83,41,2,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,30,0,0,0,41,6,114,3,
- 0,0,0,114,45,0,0,0,114,7,0,0,0,114,76,1,
- 0,0,114,79,0,0,0,114,80,1,0,0,41,3,114,12,
- 1,0,0,114,35,0,0,0,114,78,1,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,218,20,95,112,
+ 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,0,83,41,2,78,114,30,0,0,0,
+ 114,4,0,0,0,41,2,114,71,0,0,0,114,159,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 114,15,1,0,0,243,6,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,22,0,0,0,116,0,0,100,1,0,100,2,0,
+ 100,3,0,100,4,0,100,5,0,131,3,1,83,41,6,78,
+ 114,30,0,0,0,122,8,60,115,116,114,105,110,103,62,114,
+ 21,1,0,0,114,42,1,0,0,84,41,1,114,43,1,0,
+ 0,41,2,114,71,0,0,0,114,159,0,0,0,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,14,1,0,
+ 0,246,6,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,0,83,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,71,0,0,0,
+ 114,177,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
+ 5,0,0,0,114,254,0,0,0,249,6,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,0,83,
+ 41,1,78,114,4,0,0,0,41,2,114,71,0,0,0,114,
+ 178,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,114,255,0,0,0,252,6,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,3,0,
+ 0,0,67,0,0,0,115,29,0,0,0,116,0,0,100,1,
+ 0,124,0,0,106,1,0,131,2,0,1,116,2,0,124,0,
+ 0,124,1,0,131,2,0,83,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,3,114,153,0,0,0,114,252,0,
+ 0,0,114,179,0,0,0,41,2,114,71,0,0,0,114,159,
+ 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,114,3,1,0,0,255,6,0,0,115,4,0,0,0,
+ 0,7,16,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,57,0,0,0,114,56,0,0,0,114,
+ 58,0,0,0,114,72,0,0,0,114,17,1,0,0,114,204,
+ 0,0,0,114,219,0,0,0,114,15,1,0,0,114,14,1,
+ 0,0,114,254,0,0,0,114,255,0,0,0,114,3,1,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,114,250,0,0,0,227,6,0,0,115,16,
+ 0,0,0,12,1,12,3,18,9,12,3,12,3,12,3,12,
+ 3,12,3,114,250,0,0,0,99,0,0,0,0,0,0,0,
+ 0,0,0,0,0,5,0,0,0,64,0,0,0,115,160,0,
+ 0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,1,
+ 0,90,3,0,101,4,0,100,2,0,100,3,0,132,0,0,
+ 131,1,0,90,5,0,101,4,0,100,4,0,100,5,0,132,
+ 0,0,131,1,0,90,6,0,101,4,0,100,6,0,100,7,
+ 0,132,0,0,131,1,0,90,7,0,101,4,0,100,8,0,
+ 100,9,0,132,0,0,131,1,0,90,8,0,101,4,0,100,
+ 10,0,100,11,0,100,12,0,132,1,0,131,1,0,90,9,
+ 0,101,4,0,100,10,0,100,10,0,100,13,0,100,14,0,
+ 132,2,0,131,1,0,90,10,0,101,4,0,100,10,0,100,
+ 15,0,100,16,0,132,1,0,131,1,0,90,11,0,100,10,
+ 0,83,41,17,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,55,0,0,0,120,48,0,116,0,0,
+ 106,1,0,106,2,0,131,0,0,68,93,31,0,125,1,0,
+ 116,3,0,124,1,0,100,1,0,131,2,0,114,16,0,124,
+ 1,0,106,4,0,131,0,0,1,113,16,0,87,100,2,0,
+ 83,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,7,0,0,0,218,19,112,
97,116,104,95,105,109,112,111,114,116,101,114,95,99,97,99,
- 104,101,78,7,0,0,115,16,0,0,0,0,8,12,1,15,
- 1,3,1,17,1,13,1,15,1,18,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,3,0,0,0,67,0,0,
- 0,115,113,0,0,0,116,0,0,124,2,0,100,1,0,131,
- 2,0,114,39,0,124,2,0,106,1,0,124,1,0,131,1,
- 0,92,2,0,125,3,0,125,4,0,110,21,0,124,2,0,
- 106,2,0,124,1,0,131,1,0,125,3,0,103,0,0,125,
- 4,0,124,3,0,100,0,0,107,9,0,114,85,0,116,3,
- 0,124,1,0,124,3,0,131,2,0,83,116,4,0,124,1,
- 0,100,0,0,131,2,0,125,5,0,124,4,0,124,5,0,
- 95,5,0,124,5,0,83,41,2,78,114,166,0,0,0,41,
- 6,114,60,0,0,0,114,166,0,0,0,114,15,1,0,0,
- 114,174,0,0,0,114,217,0,0,0,114,221,0,0,0,41,
- 6,114,12,1,0,0,114,159,0,0,0,114,78,1,0,0,
- 114,170,0,0,0,114,171,0,0,0,114,178,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,16,
- 95,108,101,103,97,99,121,95,103,101,116,95,115,112,101,99,
- 95,7,0,0,115,18,0,0,0,0,4,15,1,24,2,15,
- 1,6,1,12,1,13,1,15,1,9,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,252,
- 0,0,0,103,0,0,125,4,0,120,239,0,124,2,0,68,
- 93,203,0,125,5,0,116,0,0,124,5,0,116,1,0,116,
- 2,0,102,2,0,131,2,0,115,46,0,113,13,0,110,0,
- 0,124,0,0,106,3,0,124,5,0,131,1,0,125,6,0,
- 124,6,0,100,1,0,107,9,0,114,13,0,116,4,0,124,
- 6,0,100,2,0,131,2,0,114,109,0,124,6,0,106,5,
- 0,124,1,0,124,3,0,131,2,0,125,7,0,110,18,0,
- 124,0,0,106,6,0,124,1,0,124,6,0,131,2,0,125,
- 7,0,124,7,0,100,1,0,107,8,0,114,145,0,113,13,
- 0,110,0,0,124,7,0,106,7,0,100,1,0,107,9,0,
- 114,164,0,124,7,0,83,124,7,0,106,8,0,125,8,0,
- 124,8,0,100,1,0,107,8,0,114,200,0,116,9,0,100,
- 3,0,131,1,0,130,1,0,110,0,0,124,4,0,106,10,
- 0,124,8,0,131,1,0,1,113,13,0,113,13,0,87,116,
+ 104,101,218,6,118,97,108,117,101,115,114,60,0,0,0,114,
+ 74,1,0,0,41,2,114,10,1,0,0,218,6,102,105,110,
+ 100,101,114,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,114,74,1,0,0,16,7,0,0,115,6,0,0,0,
+ 0,4,22,1,15,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,107,0,0,0,116,0,
+ 0,106,1,0,100,1,0,107,9,0,114,41,0,116,0,0,
+ 106,1,0,12,114,41,0,116,2,0,106,3,0,100,2,0,
+ 116,4,0,131,2,0,1,120,59,0,116,0,0,106,1,0,
+ 68,93,44,0,125,2,0,121,14,0,124,2,0,124,1,0,
+ 131,1,0,83,87,113,51,0,4,116,5,0,107,10,0,114,
+ 94,0,1,1,1,119,51,0,89,113,51,0,88,113,51,0,
+ 87,100,1,0,83,100,1,0,83,41,3,122,113,83,101,97,
+ 114,99,104,32,115,101,113,117,101,110,99,101,32,111,102,32,
+ 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,10,10,
+ 32,32,32,32,32,32,32,32,73,102,32,39,104,111,111,107,
+ 115,39,32,105,115,32,102,97,108,115,101,32,116,104,101,110,
+ 32,117,115,101,32,115,121,115,46,112,97,116,104,95,104,111,
+ 111,107,115,46,10,10,32,32,32,32,32,32,32,32,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,7,0,0,0,218,
+ 10,112,97,116,104,95,104,111,111,107,115,114,167,0,0,0,
+ 114,168,0,0,0,114,169,0,0,0,114,154,0,0,0,41,
+ 3,114,10,1,0,0,114,35,0,0,0,90,4,104,111,111,
+ 107,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,11,95,112,97,116,104,95,104,111,111,107,115,24,7,0,
+ 0,115,16,0,0,0,0,7,25,1,16,1,16,1,3,1,
+ 14,1,13,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,123,0,0,0,124,1,0,100,1,0,107,2,
+ 0,114,53,0,121,16,0,116,0,0,106,1,0,131,0,0,
+ 125,1,0,87,110,22,0,4,116,2,0,107,10,0,114,52,
+ 0,1,1,1,100,2,0,83,89,110,1,0,88,121,17,0,
+ 116,3,0,106,4,0,124,1,0,25,125,2,0,87,110,46,
+ 0,4,116,5,0,107,10,0,114,118,0,1,1,1,124,0,
+ 0,106,6,0,124,1,0,131,1,0,125,2,0,124,2,0,
+ 116,3,0,106,4,0,124,1,0,60,89,110,1,0,88,124,
+ 2,0,83,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,30,0,0,0,78,41,
+ 7,114,3,0,0,0,114,45,0,0,0,218,17,70,105,108,
+ 101,78,111,116,70,111,117,110,100,69,114,114,111,114,114,7,
+ 0,0,0,114,75,1,0,0,114,79,0,0,0,114,79,1,
+ 0,0,41,3,114,10,1,0,0,114,35,0,0,0,114,77,
+ 1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,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,41,7,0,0,115,22,0,0,
+ 0,0,8,12,1,3,1,16,1,13,3,9,1,3,1,17,
+ 1,13,1,15,1,18,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,3,0,0,0,67,0,0,0,115,113,0,
+ 0,0,116,0,0,124,2,0,100,1,0,131,2,0,114,39,
+ 0,124,2,0,106,1,0,124,1,0,131,1,0,92,2,0,
+ 125,3,0,125,4,0,110,21,0,124,2,0,106,2,0,124,
+ 1,0,131,1,0,125,3,0,103,0,0,125,4,0,124,3,
+ 0,100,0,0,107,9,0,114,85,0,116,3,0,124,1,0,
+ 124,3,0,131,2,0,83,116,4,0,124,1,0,100,0,0,
+ 131,2,0,125,5,0,124,4,0,124,5,0,95,5,0,124,
+ 5,0,83,41,2,78,114,166,0,0,0,41,6,114,60,0,
+ 0,0,114,166,0,0,0,114,13,1,0,0,114,174,0,0,
+ 0,114,216,0,0,0,114,220,0,0,0,41,6,114,10,1,
+ 0,0,114,159,0,0,0,114,77,1,0,0,114,170,0,0,
+ 0,114,171,0,0,0,114,177,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,218,16,95,108,101,103,
+ 97,99,121,95,103,101,116,95,115,112,101,99,63,7,0,0,
+ 115,18,0,0,0,0,4,15,1,24,2,15,1,6,1,12,
+ 1,13,1,15,1,9,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,240,0,0,0,103,
+ 0,0,125,4,0,120,227,0,124,2,0,68,93,191,0,125,
+ 5,0,116,0,0,124,5,0,116,1,0,116,2,0,102,2,
+ 0,131,2,0,115,43,0,113,13,0,124,0,0,106,3,0,
+ 124,5,0,131,1,0,125,6,0,124,6,0,100,1,0,107,
+ 9,0,114,13,0,116,4,0,124,6,0,100,2,0,131,2,
+ 0,114,106,0,124,6,0,106,5,0,124,1,0,124,3,0,
+ 131,2,0,125,7,0,110,18,0,124,0,0,106,6,0,124,
+ 1,0,124,6,0,131,2,0,125,7,0,124,7,0,100,1,
+ 0,107,8,0,114,139,0,113,13,0,124,7,0,106,7,0,
+ 100,1,0,107,9,0,114,158,0,124,7,0,83,124,7,0,
+ 106,8,0,125,8,0,124,8,0,100,1,0,107,8,0,114,
+ 191,0,116,9,0,100,3,0,131,1,0,130,1,0,124,4,
+ 0,106,10,0,124,8,0,131,1,0,1,113,13,0,87,116,
11,0,124,1,0,100,1,0,131,2,0,125,7,0,124,4,
0,124,7,0,95,8,0,124,7,0,83,100,1,0,83,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,14,1,0,0,122,19,115,112,101,99,32,109,
+ 101,46,78,114,12,1,0,0,122,19,115,112,101,99,32,109,
105,115,115,105,110,103,32,108,111,97,100,101,114,41,12,114,
- 193,0,0,0,218,3,115,116,114,218,5,98,121,116,101,115,
- 114,81,1,0,0,114,60,0,0,0,114,14,1,0,0,114,
- 82,1,0,0,114,170,0,0,0,114,221,0,0,0,114,154,
- 0,0,0,114,198,0,0,0,114,217,0,0,0,41,9,114,
- 12,1,0,0,114,159,0,0,0,114,35,0,0,0,114,13,
+ 191,0,0,0,218,3,115,116,114,218,5,98,121,116,101,115,
+ 114,81,1,0,0,114,60,0,0,0,114,12,1,0,0,114,
+ 82,1,0,0,114,170,0,0,0,114,220,0,0,0,114,154,
+ 0,0,0,114,196,0,0,0,114,216,0,0,0,41,9,114,
+ 10,1,0,0,114,159,0,0,0,114,35,0,0,0,114,11,
1,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,78,1,0,0,114,
- 178,0,0,0,114,171,0,0,0,114,4,0,0,0,114,4,
+ 97,116,104,90,5,101,110,116,114,121,114,77,1,0,0,114,
+ 177,0,0,0,114,171,0,0,0,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,218,9,95,103,101,116,95,115,
- 112,101,99,110,7,0,0,115,40,0,0,0,0,5,6,1,
- 13,1,21,1,6,1,15,1,12,1,15,1,21,2,18,1,
- 12,1,6,1,15,1,4,1,9,1,12,1,15,5,20,2,
+ 112,101,99,78,7,0,0,115,40,0,0,0,0,5,6,1,
+ 13,1,21,1,3,1,15,1,12,1,15,1,21,2,18,1,
+ 12,1,3,1,15,1,4,1,9,1,12,1,12,5,17,2,
15,1,9,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,4,0,0,0,67,0,0,0,115,
- 143,0,0,0,124,2,0,100,1,0,107,8,0,114,24,0,
- 116,0,0,106,1,0,125,2,0,110,0,0,124,0,0,106,
- 2,0,124,1,0,124,2,0,124,3,0,131,3,0,125,4,
- 0,124,4,0,100,1,0,107,8,0,114,61,0,100,1,0,
- 83,124,4,0,106,3,0,100,1,0,107,8,0,114,135,0,
- 124,4,0,106,4,0,125,5,0,124,5,0,114,128,0,100,
- 2,0,124,4,0,95,5,0,116,6,0,124,1,0,124,5,
- 0,124,0,0,106,2,0,131,3,0,124,4,0,95,4,0,
- 124,4,0,83,100,1,0,83,110,4,0,124,4,0,83,100,
- 1,0,83,41,3,122,98,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,78,90,9,110,97,109,101,
- 115,112,97,99,101,41,7,114,7,0,0,0,114,35,0,0,
- 0,114,86,1,0,0,114,170,0,0,0,114,221,0,0,0,
- 114,218,0,0,0,114,61,1,0,0,41,6,114,12,1,0,
- 0,114,159,0,0,0,114,35,0,0,0,114,13,1,0,0,
- 114,178,0,0,0,114,85,1,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,14,1,0,0,142,7,
- 0,0,115,26,0,0,0,0,4,12,1,12,1,21,1,12,
- 1,4,1,15,1,9,1,6,3,9,1,24,1,4,2,7,
- 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,3,0,0,0,67,0,0,0,115,41,0,0,
- 0,124,0,0,106,0,0,124,1,0,124,2,0,131,2,0,
- 125,3,0,124,3,0,100,1,0,107,8,0,114,34,0,100,
- 1,0,83,124,3,0,106,1,0,83,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,14,1,0,0,
- 114,170,0,0,0,41,4,114,12,1,0,0,114,159,0,0,
- 0,114,35,0,0,0,114,178,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,15,1,0,0,164,
- 7,0,0,115,8,0,0,0,0,8,18,1,12,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,12,114,57,0,0,0,114,
- 56,0,0,0,114,58,0,0,0,114,59,0,0,0,114,19,
- 1,0,0,114,75,1,0,0,114,80,1,0,0,114,81,1,
- 0,0,114,82,1,0,0,114,86,1,0,0,114,14,1,0,
- 0,114,15,1,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,74,1,0,0,49,
- 7,0,0,115,22,0,0,0,12,2,6,2,18,8,18,17,
- 18,17,18,15,3,1,18,31,3,1,21,21,3,1,114,74,
- 1,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
- 3,0,0,0,64,0,0,0,115,133,0,0,0,101,0,0,
- 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,
- 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,
- 0,132,0,0,90,5,0,101,6,0,90,7,0,100,6,0,
- 100,7,0,132,0,0,90,8,0,100,8,0,100,9,0,132,
- 0,0,90,9,0,100,10,0,100,11,0,100,12,0,132,1,
- 0,90,10,0,100,13,0,100,14,0,132,0,0,90,11,0,
- 101,12,0,100,15,0,100,16,0,132,0,0,131,1,0,90,
- 13,0,100,17,0,100,18,0,132,0,0,90,14,0,100,10,
- 0,83,41,19,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,5,0,0,0,7,
- 0,0,0,115,122,0,0,0,103,0,0,125,3,0,120,52,
- 0,124,2,0,68,93,44,0,92,2,0,137,0,0,125,4,
- 0,124,3,0,106,0,0,135,0,0,102,1,0,100,1,0,
- 100,2,0,134,0,0,124,4,0,68,131,1,0,131,1,0,
- 1,113,13,0,87,124,3,0,124,0,0,95,1,0,124,1,
- 0,112,79,0,100,3,0,124,0,0,95,2,0,100,6,0,
- 124,0,0,95,3,0,116,4,0,131,0,0,124,0,0,95,
- 5,0,116,4,0,131,0,0,124,0,0,95,6,0,100,5,
- 0,83,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,27,0,0,0,124,0,0,93,17,0,
- 125,1,0,124,1,0,136,0,0,102,2,0,86,1,113,3,
- 0,100,0,0,83,41,1,78,114,4,0,0,0,41,2,114,
- 22,0,0,0,114,58,1,0,0,41,1,114,170,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,77,0,0,0,193,
- 7,0,0,115,2,0,0,0,6,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,116,0,0,0,114,29,0,0,0,78,114,139,0,
- 0,0,41,7,114,198,0,0,0,218,8,95,108,111,97,100,
- 101,114,115,114,35,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,71,
- 0,0,0,114,35,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,126,0,0,0,114,4,0,0,0,41,1,114,170,0,
- 0,0,114,5,0,0,0,114,72,0,0,0,187,7,0,0,
- 115,16,0,0,0,0,4,6,1,19,1,36,1,9,2,15,
- 1,9,1,12,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,
- 13,0,0,0,100,3,0,124,0,0,95,0,0,100,2,0,
- 83,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,29,0,0,0,78,114,139,0,0,0,41,
- 1,114,89,1,0,0,41,1,114,71,0,0,0,114,4,0,
- 0,0,114,4,0,0,0,114,5,0,0,0,114,75,1,0,
- 0,201,7,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,2,0,0,0,67,0,0,0,115,
- 59,0,0,0,124,0,0,106,0,0,124,1,0,131,1,0,
- 125,2,0,124,2,0,100,1,0,107,8,0,114,37,0,100,
- 1,0,103,0,0,102,2,0,83,124,2,0,106,1,0,124,
- 2,0,106,2,0,112,55,0,103,0,0,102,2,0,83,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,14,1,0,0,
- 114,170,0,0,0,114,221,0,0,0,41,3,114,71,0,0,
- 0,114,159,0,0,0,114,178,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,166,0,0,0,207,
- 7,0,0,115,8,0,0,0,0,7,15,1,12,1,10,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,7,0,0,0,67,0,0,0,115,40,0,
- 0,0,124,1,0,124,2,0,124,3,0,131,2,0,125,6,
- 0,116,0,0,124,2,0,124,3,0,100,1,0,124,6,0,
- 100,2,0,124,4,0,131,2,2,83,41,3,78,114,170,0,
- 0,0,114,221,0,0,0,41,1,114,240,0,0,0,41,7,
- 114,71,0,0,0,114,244,0,0,0,114,159,0,0,0,114,
- 35,0,0,0,114,229,0,0,0,114,13,1,0,0,114,170,
- 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,86,1,0,0,219,7,0,0,115,6,0,0,0,
- 0,1,15,1,18,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,15,0,0,0,67,0,
- 0,0,115,240,1,0,0,100,1,0,125,3,0,124,1,0,
- 106,0,0,100,2,0,131,1,0,100,3,0,25,125,4,0,
- 121,34,0,116,1,0,124,0,0,106,2,0,112,49,0,116,
- 3,0,106,4,0,131,0,0,131,1,0,106,5,0,125,5,
- 0,87,110,24,0,4,116,6,0,107,10,0,114,85,0,1,
- 1,1,100,10,0,125,5,0,89,110,1,0,88,124,5,0,
- 124,0,0,106,7,0,107,3,0,114,123,0,124,0,0,106,
- 8,0,131,0,0,1,124,5,0,124,0,0,95,7,0,110,
- 0,0,116,9,0,131,0,0,114,156,0,124,0,0,106,10,
- 0,125,6,0,124,4,0,106,11,0,131,0,0,125,7,0,
- 110,15,0,124,0,0,106,12,0,125,6,0,124,4,0,125,
- 7,0,124,7,0,124,6,0,107,6,0,114,51,1,116,13,
- 0,124,0,0,106,2,0,124,4,0,131,2,0,125,8,0,
- 120,103,0,124,0,0,106,14,0,68,93,77,0,92,2,0,
- 125,9,0,125,10,0,100,5,0,124,9,0,23,125,11,0,
- 116,13,0,124,8,0,124,11,0,131,2,0,125,12,0,116,
- 15,0,124,12,0,131,1,0,114,211,0,124,0,0,106,16,
- 0,124,10,0,124,1,0,124,12,0,124,8,0,103,1,0,
- 124,2,0,131,5,0,83,113,211,0,87,116,17,0,124,8,
- 0,131,1,0,125,3,0,110,0,0,120,126,0,124,0,0,
- 106,14,0,68,93,115,0,92,2,0,125,9,0,125,10,0,
- 116,13,0,124,0,0,106,2,0,124,4,0,124,9,0,23,
- 131,2,0,125,12,0,116,18,0,100,6,0,106,19,0,124,
- 12,0,131,1,0,100,7,0,100,3,0,131,1,1,1,124,
- 7,0,124,9,0,23,124,6,0,107,6,0,114,61,1,116,
- 15,0,124,12,0,131,1,0,114,176,1,124,0,0,106,16,
- 0,124,10,0,124,1,0,124,12,0,100,8,0,124,2,0,
- 131,5,0,83,113,61,1,113,61,1,87,124,3,0,114,236,
- 1,116,18,0,100,9,0,106,19,0,124,8,0,131,1,0,
- 131,1,0,1,116,20,0,124,1,0,100,8,0,131,2,0,
- 125,13,0,124,8,0,103,1,0,124,13,0,95,21,0,124,
- 13,0,83,100,8,0,83,41,11,122,125,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,70,114,116,0,0,0,114,115,
- 0,0,0,114,29,0,0,0,114,72,0,0,0,122,9,116,
- 114,121,105,110,103,32,123,125,114,146,0,0,0,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,139,0,0,0,41,22,
- 114,32,0,0,0,114,39,0,0,0,114,35,0,0,0,114,
- 3,0,0,0,114,45,0,0,0,114,54,1,0,0,114,40,
- 0,0,0,114,89,1,0,0,218,11,95,102,105,108,108,95,
- 99,97,99,104,101,114,6,0,0,0,114,92,1,0,0,114,
- 140,0,0,0,114,91,1,0,0,114,28,0,0,0,114,88,
- 1,0,0,114,44,0,0,0,114,86,1,0,0,114,46,0,
- 0,0,114,153,0,0,0,114,47,0,0,0,114,217,0,0,
- 0,114,221,0,0,0,41,14,114,71,0,0,0,114,159,0,
- 0,0,114,13,1,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,184,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,58,1,0,0,114,244,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,178,0,0,0,
+ 140,0,0,0,124,2,0,100,1,0,107,8,0,114,21,0,
+ 116,0,0,106,1,0,125,2,0,124,0,0,106,2,0,124,
+ 1,0,124,2,0,124,3,0,131,3,0,125,4,0,124,4,
+ 0,100,1,0,107,8,0,114,58,0,100,1,0,83,124,4,
+ 0,106,3,0,100,1,0,107,8,0,114,132,0,124,4,0,
+ 106,4,0,125,5,0,124,5,0,114,125,0,100,2,0,124,
+ 4,0,95,5,0,116,6,0,124,1,0,124,5,0,124,0,
+ 0,106,2,0,131,3,0,124,4,0,95,4,0,124,4,0,
+ 83,100,1,0,83,110,4,0,124,4,0,83,100,1,0,83,
+ 41,3,122,98,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,78,90,9,110,97,109,101,115,112,97,
+ 99,101,41,7,114,7,0,0,0,114,35,0,0,0,114,86,
+ 1,0,0,114,170,0,0,0,114,220,0,0,0,114,217,0,
+ 0,0,114,60,1,0,0,41,6,114,10,1,0,0,114,159,
+ 0,0,0,114,35,0,0,0,114,11,1,0,0,114,177,0,
+ 0,0,114,85,1,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,114,12,1,0,0,110,7,0,0,115,
+ 26,0,0,0,0,4,12,1,9,1,21,1,12,1,4,1,
+ 15,1,9,1,6,3,9,1,24,1,4,2,7,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,3,0,0,0,67,0,0,0,115,41,0,0,0,124,0,
+ 0,106,0,0,124,1,0,124,2,0,131,2,0,125,3,0,
+ 124,3,0,100,1,0,107,8,0,114,34,0,100,1,0,83,
+ 124,3,0,106,1,0,83,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,12,1,0,0,114,170,0,
+ 0,0,41,4,114,10,1,0,0,114,159,0,0,0,114,35,
+ 0,0,0,114,177,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,13,1,0,0,132,7,0,0,
+ 115,8,0,0,0,0,8,18,1,12,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,12,114,57,0,0,0,114,56,0,0,
+ 0,114,58,0,0,0,114,59,0,0,0,114,17,1,0,0,
+ 114,74,1,0,0,114,79,1,0,0,114,81,1,0,0,114,
+ 82,1,0,0,114,86,1,0,0,114,12,1,0,0,114,13,
+ 1,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,73,1,0,0,12,7,0,0,
+ 115,22,0,0,0,12,2,6,2,18,8,18,17,18,22,18,
+ 15,3,1,18,31,3,1,21,21,3,1,114,73,1,0,0,
+ 99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,
+ 0,64,0,0,0,115,133,0,0,0,101,0,0,90,1,0,
+ 100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,100,
+ 3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,0,
+ 0,90,5,0,101,6,0,90,7,0,100,6,0,100,7,0,
+ 132,0,0,90,8,0,100,8,0,100,9,0,132,0,0,90,
+ 9,0,100,10,0,100,11,0,100,12,0,132,1,0,90,10,
+ 0,100,13,0,100,14,0,132,0,0,90,11,0,101,12,0,
+ 100,15,0,100,16,0,132,0,0,131,1,0,90,13,0,100,
+ 17,0,100,18,0,132,0,0,90,14,0,100,10,0,83,41,
+ 19,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,5,0,0,0,7,0,0,0,
+ 115,122,0,0,0,103,0,0,125,3,0,120,52,0,124,2,
+ 0,68,93,44,0,92,2,0,137,0,0,125,4,0,124,3,
+ 0,106,0,0,135,0,0,102,1,0,100,1,0,100,2,0,
+ 134,0,0,124,4,0,68,131,1,0,131,1,0,1,113,13,
+ 0,87,124,3,0,124,0,0,95,1,0,124,1,0,112,79,
+ 0,100,3,0,124,0,0,95,2,0,100,6,0,124,0,0,
+ 95,3,0,116,4,0,131,0,0,124,0,0,95,5,0,116,
+ 4,0,131,0,0,124,0,0,95,6,0,100,5,0,83,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,27,0,0,0,124,0,0,93,17,0,125,1,0,
+ 124,1,0,136,0,0,102,2,0,86,1,113,3,0,100,0,
+ 0,83,41,1,78,114,4,0,0,0,41,2,114,22,0,0,
+ 0,114,57,1,0,0,41,1,114,170,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,77,0,0,0,161,7,0,0,
+ 115,2,0,0,0,6,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,
+ 116,0,0,0,114,29,0,0,0,78,114,139,0,0,0,41,
+ 7,114,196,0,0,0,218,8,95,108,111,97,100,101,114,115,
+ 114,35,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,71,0,0,0,
+ 114,35,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,126,
+ 0,0,0,114,4,0,0,0,41,1,114,170,0,0,0,114,
+ 5,0,0,0,114,72,0,0,0,155,7,0,0,115,16,0,
+ 0,0,0,4,6,1,19,1,36,1,9,2,15,1,9,1,
+ 12,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,13,0,0,
+ 0,100,3,0,124,0,0,95,0,0,100,2,0,83,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,29,0,0,0,78,114,139,0,0,0,41,1,114,89,
+ 1,0,0,41,1,114,71,0,0,0,114,4,0,0,0,114,
+ 4,0,0,0,114,5,0,0,0,114,74,1,0,0,169,7,
+ 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,2,0,0,0,67,0,0,0,115,59,0,0,
+ 0,124,0,0,106,0,0,124,1,0,131,1,0,125,2,0,
+ 124,2,0,100,1,0,107,8,0,114,37,0,100,1,0,103,
+ 0,0,102,2,0,83,124,2,0,106,1,0,124,2,0,106,
+ 2,0,112,55,0,103,0,0,102,2,0,83,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,12,1,0,0,114,170,0,
+ 0,0,114,220,0,0,0,41,3,114,71,0,0,0,114,159,
+ 0,0,0,114,177,0,0,0,114,4,0,0,0,114,4,0,
+ 0,0,114,5,0,0,0,114,166,0,0,0,175,7,0,0,
+ 115,8,0,0,0,0,7,15,1,12,1,10,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,7,0,0,0,67,0,0,0,115,40,0,0,0,124,
+ 1,0,124,2,0,124,3,0,131,2,0,125,6,0,116,0,
+ 0,124,2,0,124,3,0,100,1,0,124,6,0,100,2,0,
+ 124,4,0,131,2,2,83,41,3,78,114,170,0,0,0,114,
+ 220,0,0,0,41,1,114,239,0,0,0,41,7,114,71,0,
+ 0,0,114,243,0,0,0,114,159,0,0,0,114,35,0,0,
+ 0,114,228,0,0,0,114,11,1,0,0,114,170,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 14,1,0,0,224,7,0,0,115,68,0,0,0,0,3,6,
- 1,19,1,3,1,34,1,13,1,11,1,15,1,10,1,12,
- 2,9,1,9,1,15,2,9,1,6,2,12,1,18,1,22,
- 1,10,1,15,1,12,1,32,4,15,2,22,1,22,1,25,
- 1,16,1,12,1,32,1,6,1,19,1,15,1,12,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,13,0,0,0,67,0,0,0,115,14,1,0,
- 0,124,0,0,106,0,0,125,1,0,121,31,0,116,1,0,
- 106,2,0,124,1,0,112,33,0,116,1,0,106,3,0,131,
- 0,0,131,1,0,125,2,0,87,110,33,0,4,116,4,0,
- 116,5,0,116,6,0,102,3,0,107,10,0,114,75,0,1,
- 1,1,103,0,0,125,2,0,89,110,1,0,88,116,7,0,
- 106,8,0,106,9,0,100,1,0,131,1,0,115,112,0,116,
- 10,0,124,2,0,131,1,0,124,0,0,95,11,0,110,111,
- 0,116,10,0,131,0,0,125,3,0,120,90,0,124,2,0,
- 68,93,82,0,125,4,0,124,4,0,106,12,0,100,2,0,
- 131,1,0,92,3,0,125,5,0,125,6,0,125,7,0,124,
- 6,0,114,191,0,100,3,0,106,13,0,124,5,0,124,7,
- 0,106,14,0,131,0,0,131,2,0,125,8,0,110,6,0,
- 124,5,0,125,8,0,124,3,0,106,15,0,124,8,0,131,
- 1,0,1,113,128,0,87,124,3,0,124,0,0,95,11,0,
- 116,7,0,106,8,0,106,9,0,116,16,0,131,1,0,114,
- 10,1,100,4,0,100,5,0,132,0,0,124,2,0,68,131,
- 1,0,124,0,0,95,17,0,110,0,0,100,6,0,83,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,116,0,0,
- 0,122,5,123,125,46,123,125,99,1,0,0,0,0,0,0,
- 0,2,0,0,0,3,0,0,0,83,0,0,0,115,28,0,
- 0,0,104,0,0,124,0,0,93,18,0,125,1,0,124,1,
- 0,106,0,0,131,0,0,146,2,0,113,6,0,83,114,4,
- 0,0,0,41,1,114,140,0,0,0,41,2,114,22,0,0,
- 0,90,2,102,110,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,250,9,60,115,101,116,99,111,109,112,62,42,
- 8,0,0,115,2,0,0,0,9,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,35,0,0,0,114,3,0,
- 0,0,90,7,108,105,115,116,100,105,114,114,45,0,0,0,
- 218,17,70,105,108,101,78,111,116,70,111,117,110,100,69,114,
- 114,111,114,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,7,0,0,0,114,8,0,
- 0,0,114,9,0,0,0,114,90,1,0,0,114,91,1,0,
- 0,114,134,0,0,0,114,47,0,0,0,114,140,0,0,0,
- 218,3,97,100,100,114,10,0,0,0,114,92,1,0,0,41,
- 9,114,71,0,0,0,114,35,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,72,1,0,
- 0,114,67,0,0,0,114,66,1,0,0,114,58,1,0,0,
- 90,8,110,101,119,95,110,97,109,101,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,94,1,0,0,13,8,
- 0,0,115,34,0,0,0,0,2,9,1,3,1,31,1,22,
- 3,11,3,18,1,18,7,9,1,13,1,24,1,6,1,27,
- 2,6,1,17,1,9,1,18,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,25,0,0,0,135,0,0,135,1,
- 0,102,2,0,100,1,0,100,2,0,134,0,0,125,2,0,
- 124,2,0,83,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,46,0,0,0,116,0,0,124,0,0,131,
- 1,0,115,33,0,116,1,0,100,1,0,100,2,0,124,0,
- 0,131,1,1,130,1,0,110,0,0,136,0,0,124,0,0,
+ 86,1,0,0,187,7,0,0,115,6,0,0,0,0,1,15,
+ 1,18,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,15,0,0,0,67,0,0,0,115,
+ 231,1,0,0,100,1,0,125,3,0,124,1,0,106,0,0,
+ 100,2,0,131,1,0,100,3,0,25,125,4,0,121,34,0,
+ 116,1,0,124,0,0,106,2,0,112,49,0,116,3,0,106,
+ 4,0,131,0,0,131,1,0,106,5,0,125,5,0,87,110,
+ 24,0,4,116,6,0,107,10,0,114,85,0,1,1,1,100,
+ 10,0,125,5,0,89,110,1,0,88,124,5,0,124,0,0,
+ 106,7,0,107,3,0,114,120,0,124,0,0,106,8,0,131,
+ 0,0,1,124,5,0,124,0,0,95,7,0,116,9,0,131,
+ 0,0,114,153,0,124,0,0,106,10,0,125,6,0,124,4,
+ 0,106,11,0,131,0,0,125,7,0,110,15,0,124,0,0,
+ 106,12,0,125,6,0,124,4,0,125,7,0,124,7,0,124,
+ 6,0,107,6,0,114,45,1,116,13,0,124,0,0,106,2,
+ 0,124,4,0,131,2,0,125,8,0,120,100,0,124,0,0,
+ 106,14,0,68,93,77,0,92,2,0,125,9,0,125,10,0,
+ 100,5,0,124,9,0,23,125,11,0,116,13,0,124,8,0,
+ 124,11,0,131,2,0,125,12,0,116,15,0,124,12,0,131,
+ 1,0,114,208,0,124,0,0,106,16,0,124,10,0,124,1,
+ 0,124,12,0,124,8,0,103,1,0,124,2,0,131,5,0,
+ 83,113,208,0,87,116,17,0,124,8,0,131,1,0,125,3,
+ 0,120,123,0,124,0,0,106,14,0,68,93,112,0,92,2,
+ 0,125,9,0,125,10,0,116,13,0,124,0,0,106,2,0,
+ 124,4,0,124,9,0,23,131,2,0,125,12,0,116,18,0,
+ 100,6,0,106,19,0,124,12,0,131,1,0,100,7,0,100,
+ 3,0,131,1,1,1,124,7,0,124,9,0,23,124,6,0,
+ 107,6,0,114,55,1,116,15,0,124,12,0,131,1,0,114,
+ 55,1,124,0,0,106,16,0,124,10,0,124,1,0,124,12,
+ 0,100,8,0,124,2,0,131,5,0,83,113,55,1,87,124,
+ 3,0,114,227,1,116,18,0,100,9,0,106,19,0,124,8,
+ 0,131,1,0,131,1,0,1,116,20,0,124,1,0,100,8,
+ 0,131,2,0,125,13,0,124,8,0,103,1,0,124,13,0,
+ 95,21,0,124,13,0,83,100,8,0,83,41,11,122,125,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,70,114,116,0,
+ 0,0,114,115,0,0,0,114,29,0,0,0,114,72,0,0,
+ 0,122,9,116,114,121,105,110,103,32,123,125,114,146,0,0,
+ 0,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,139,0,
+ 0,0,41,22,114,32,0,0,0,114,39,0,0,0,114,35,
+ 0,0,0,114,3,0,0,0,114,45,0,0,0,114,53,1,
+ 0,0,114,40,0,0,0,114,89,1,0,0,218,11,95,102,
+ 105,108,108,95,99,97,99,104,101,114,6,0,0,0,114,92,
+ 1,0,0,114,140,0,0,0,114,91,1,0,0,114,28,0,
+ 0,0,114,88,1,0,0,114,44,0,0,0,114,86,1,0,
+ 0,114,46,0,0,0,114,153,0,0,0,114,47,0,0,0,
+ 114,216,0,0,0,114,220,0,0,0,41,14,114,71,0,0,
+ 0,114,159,0,0,0,114,11,1,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,182,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,57,1,0,0,
+ 114,243,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,
+ 177,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,114,12,1,0,0,192,7,0,0,115,68,0,0,
+ 0,0,3,6,1,19,1,3,1,34,1,13,1,11,1,15,
+ 1,10,1,9,2,9,1,9,1,15,2,9,1,6,2,12,
+ 1,18,1,22,1,10,1,15,1,12,1,32,4,12,2,22,
+ 1,22,1,25,1,16,1,12,1,29,1,6,1,19,1,15,
+ 1,12,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,13,0,0,0,67,0,0,0,
+ 115,11,1,0,0,124,0,0,106,0,0,125,1,0,121,31,
+ 0,116,1,0,106,2,0,124,1,0,112,33,0,116,1,0,
+ 106,3,0,131,0,0,131,1,0,125,2,0,87,110,33,0,
+ 4,116,4,0,116,5,0,116,6,0,102,3,0,107,10,0,
+ 114,75,0,1,1,1,103,0,0,125,2,0,89,110,1,0,
+ 88,116,7,0,106,8,0,106,9,0,100,1,0,131,1,0,
+ 115,112,0,116,10,0,124,2,0,131,1,0,124,0,0,95,
+ 11,0,110,111,0,116,10,0,131,0,0,125,3,0,120,90,
+ 0,124,2,0,68,93,82,0,125,4,0,124,4,0,106,12,
+ 0,100,2,0,131,1,0,92,3,0,125,5,0,125,6,0,
+ 125,7,0,124,6,0,114,191,0,100,3,0,106,13,0,124,
+ 5,0,124,7,0,106,14,0,131,0,0,131,2,0,125,8,
+ 0,110,6,0,124,5,0,125,8,0,124,3,0,106,15,0,
+ 124,8,0,131,1,0,1,113,128,0,87,124,3,0,124,0,
+ 0,95,11,0,116,7,0,106,8,0,106,9,0,116,16,0,
+ 131,1,0,114,7,1,100,4,0,100,5,0,132,0,0,124,
+ 2,0,68,131,1,0,124,0,0,95,17,0,100,6,0,83,
+ 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,116,0,
+ 0,0,122,5,123,125,46,123,125,99,1,0,0,0,0,0,
+ 0,0,2,0,0,0,3,0,0,0,83,0,0,0,115,28,
+ 0,0,0,104,0,0,124,0,0,93,18,0,125,1,0,124,
+ 1,0,106,0,0,131,0,0,146,2,0,113,6,0,83,114,
+ 4,0,0,0,41,1,114,140,0,0,0,41,2,114,22,0,
+ 0,0,90,2,102,110,114,4,0,0,0,114,4,0,0,0,
+ 114,5,0,0,0,250,9,60,115,101,116,99,111,109,112,62,
+ 10,8,0,0,115,2,0,0,0,9,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,35,0,0,0,114,3,
+ 0,0,0,90,7,108,105,115,116,100,105,114,114,45,0,0,
+ 0,114,80,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,7,0,0,0,
+ 114,8,0,0,0,114,9,0,0,0,114,90,1,0,0,114,
+ 91,1,0,0,114,134,0,0,0,114,47,0,0,0,114,140,
+ 0,0,0,218,3,97,100,100,114,10,0,0,0,114,92,1,
+ 0,0,41,9,114,71,0,0,0,114,35,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,
+ 71,1,0,0,114,67,0,0,0,114,65,1,0,0,114,57,
+ 1,0,0,90,8,110,101,119,95,110,97,109,101,114,4,0,
+ 0,0,114,4,0,0,0,114,5,0,0,0,114,94,1,0,
+ 0,237,7,0,0,115,34,0,0,0,0,2,9,1,3,1,
+ 31,1,22,3,11,3,18,1,18,7,9,1,13,1,24,1,
+ 6,1,27,2,6,1,17,1,9,1,18,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,25,0,0,0,135,0,
+ 0,135,1,0,102,2,0,100,1,0,100,2,0,134,0,0,
+ 125,2,0,124,2,0,83,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,43,0,0,0,116,0,0,124,
+ 0,0,131,1,0,115,30,0,116,1,0,100,1,0,100,2,
+ 0,124,0,0,131,1,1,130,1,0,136,0,0,124,0,0,
136,1,0,140,1,0,83,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,
@@ -3759,17 +3682,17 @@ const unsigned char _Py_M__importlib[] = {
105,114,101,99,116,111,114,105,101,115,32,97,114,101,32,115,
117,112,112,111,114,116,101,100,114,35,0,0,0,41,2,114,
46,0,0,0,114,154,0,0,0,41,1,114,35,0,0,0,
- 41,2,114,12,1,0,0,114,93,1,0,0,114,4,0,0,
+ 41,2,114,10,1,0,0,114,93,1,0,0,114,4,0,0,
0,114,5,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,
- 54,8,0,0,115,6,0,0,0,0,2,12,1,21,1,122,
+ 22,8,0,0,115,6,0,0,0,0,2,12,1,18,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,12,
- 1,0,0,114,93,1,0,0,114,100,1,0,0,114,4,0,
- 0,0,41,2,114,12,1,0,0,114,93,1,0,0,114,5,
- 0,0,0,218,9,112,97,116,104,95,104,111,111,107,44,8,
+ 101,70,105,110,100,101,114,114,4,0,0,0,41,3,114,10,
+ 1,0,0,114,93,1,0,0,114,99,1,0,0,114,4,0,
+ 0,0,41,2,114,10,1,0,0,114,93,1,0,0,114,5,
+ 0,0,0,218,9,112,97,116,104,95,104,111,111,107,12,8,
0,0,115,4,0,0,0,0,10,21,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,2,0,
@@ -3778,15 +3701,15 @@ const unsigned char _Py_M__importlib[] = {
70,105,108,101,70,105,110,100,101,114,40,123,33,114,125,41,
41,2,114,47,0,0,0,114,35,0,0,0,41,1,114,71,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,101,0,0,0,62,8,0,0,115,2,0,0,0,
+ 0,0,114,101,0,0,0,30,8,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,15,114,57,0,0,0,114,56,
0,0,0,114,58,0,0,0,114,59,0,0,0,114,72,0,
- 0,0,114,75,1,0,0,114,173,0,0,0,114,15,1,0,
- 0,114,166,0,0,0,114,86,1,0,0,114,14,1,0,0,
- 114,94,1,0,0,114,19,1,0,0,114,101,1,0,0,114,
+ 0,0,114,74,1,0,0,114,173,0,0,0,114,13,1,0,
+ 0,114,166,0,0,0,114,86,1,0,0,114,12,1,0,0,
+ 114,94,1,0,0,114,17,1,0,0,114,100,1,0,0,114,
101,0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,87,1,0,0,178,7,0,
+ 0,0,0,114,5,0,0,0,114,87,1,0,0,146,7,0,
0,115,20,0,0,0,12,7,6,2,12,14,12,4,6,2,
12,12,12,5,15,45,12,31,18,18,114,87,1,0,0,99,
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,
@@ -3802,8 +3725,8 @@ const unsigned char _Py_M__importlib[] = {
106,1,0,131,0,0,1,100,1,0,83,41,2,122,24,65,
99,113,117,105,114,101,32,116,104,101,32,105,109,112,111,114,
116,32,108,111,99,107,46,78,41,2,114,106,0,0,0,114,
- 4,1,0,0,41,1,114,71,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,75,0,0,0,72,
+ 2,1,0,0,41,1,114,71,0,0,0,114,4,0,0,0,
+ 114,4,0,0,0,114,5,0,0,0,114,75,0,0,0,40,
8,0,0,115,2,0,0,0,0,2,122,28,95,73,109,112,
111,114,116,76,111,99,107,67,111,110,116,101,120,116,46,95,
95,101,110,116,101,114,95,95,99,4,0,0,0,0,0,0,
@@ -3817,560 +3740,555 @@ const unsigned char _Py_M__importlib[] = {
71,0,0,0,90,8,101,120,99,95,116,121,112,101,90,9,
101,120,99,95,118,97,108,117,101,90,13,101,120,99,95,116,
114,97,99,101,98,97,99,107,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,81,0,0,0,76,8,0,0,
+ 0,0,114,5,0,0,0,114,81,0,0,0,44,8,0,0,
115,2,0,0,0,0,2,122,27,95,73,109,112,111,114,116,
76,111,99,107,67,111,110,116,101,120,116,46,95,95,101,120,
105,116,95,95,78,41,6,114,57,0,0,0,114,56,0,0,
0,114,58,0,0,0,114,59,0,0,0,114,75,0,0,0,
114,81,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,102,1,0,0,68,8,
- 0,0,115,6,0,0,0,12,2,6,2,12,4,114,102,1,
+ 4,0,0,0,114,5,0,0,0,114,101,1,0,0,36,8,
+ 0,0,115,6,0,0,0,12,2,6,2,12,4,114,101,1,
0,0,99,3,0,0,0,0,0,0,0,5,0,0,0,4,
- 0,0,0,67,0,0,0,115,91,0,0,0,124,1,0,106,
+ 0,0,0,67,0,0,0,115,88,0,0,0,124,1,0,106,
0,0,100,1,0,124,2,0,100,2,0,24,131,2,0,125,
3,0,116,1,0,124,3,0,131,1,0,124,2,0,107,0,
- 0,114,55,0,116,2,0,100,3,0,131,1,0,130,1,0,
- 110,0,0,124,3,0,100,4,0,25,125,4,0,124,0,0,
- 114,87,0,100,5,0,106,3,0,124,4,0,124,0,0,131,
- 2,0,83,124,4,0,83,41,6,122,50,82,101,115,111,108,
- 118,101,32,97,32,114,101,108,97,116,105,118,101,32,109,111,
- 100,117,108,101,32,110,97,109,101,32,116,111,32,97,110,32,
- 97,98,115,111,108,117,116,101,32,111,110,101,46,114,116,0,
- 0,0,114,29,0,0,0,122,50,97,116,116,101,109,112,116,
- 101,100,32,114,101,108,97,116,105,118,101,32,105,109,112,111,
- 114,116,32,98,101,121,111,110,100,32,116,111,112,45,108,101,
- 118,101,108,32,112,97,99,107,97,103,101,114,84,0,0,0,
- 122,5,123,125,46,123,125,41,4,114,34,0,0,0,114,31,
- 0,0,0,114,133,0,0,0,114,47,0,0,0,41,5,114,
- 67,0,0,0,218,7,112,97,99,107,97,103,101,218,5,108,
- 101,118,101,108,90,4,98,105,116,115,114,128,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,13,
- 95,114,101,115,111,108,118,101,95,110,97,109,101,81,8,0,
- 0,115,10,0,0,0,0,2,22,1,18,1,15,1,10,1,
- 114,105,1,0,0,99,3,0,0,0,0,0,0,0,4,0,
- 0,0,3,0,0,0,67,0,0,0,115,47,0,0,0,124,
- 0,0,106,0,0,124,1,0,124,2,0,131,2,0,125,3,
- 0,124,3,0,100,0,0,107,8,0,114,34,0,100,0,0,
- 83,116,1,0,124,1,0,124,3,0,131,2,0,83,41,1,
- 78,41,2,114,15,1,0,0,114,174,0,0,0,41,4,114,
- 78,1,0,0,114,67,0,0,0,114,35,0,0,0,114,170,
+ 0,114,52,0,116,2,0,100,3,0,131,1,0,130,1,0,
+ 124,3,0,100,4,0,25,125,4,0,124,0,0,114,84,0,
+ 100,5,0,106,3,0,124,4,0,124,0,0,131,2,0,83,
+ 124,4,0,83,41,6,122,50,82,101,115,111,108,118,101,32,
+ 97,32,114,101,108,97,116,105,118,101,32,109,111,100,117,108,
+ 101,32,110,97,109,101,32,116,111,32,97,110,32,97,98,115,
+ 111,108,117,116,101,32,111,110,101,46,114,116,0,0,0,114,
+ 29,0,0,0,122,50,97,116,116,101,109,112,116,101,100,32,
+ 114,101,108,97,116,105,118,101,32,105,109,112,111,114,116,32,
+ 98,101,121,111,110,100,32,116,111,112,45,108,101,118,101,108,
+ 32,112,97,99,107,97,103,101,114,84,0,0,0,122,5,123,
+ 125,46,123,125,41,4,114,34,0,0,0,114,31,0,0,0,
+ 114,133,0,0,0,114,47,0,0,0,41,5,114,67,0,0,
+ 0,218,7,112,97,99,107,97,103,101,218,5,108,101,118,101,
+ 108,90,4,98,105,116,115,114,128,0,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,5,0,0,0,218,13,95,114,101,
+ 115,111,108,118,101,95,110,97,109,101,49,8,0,0,115,10,
+ 0,0,0,0,2,22,1,18,1,12,1,10,1,114,104,1,
+ 0,0,99,3,0,0,0,0,0,0,0,4,0,0,0,3,
+ 0,0,0,67,0,0,0,115,47,0,0,0,124,0,0,106,
+ 0,0,124,1,0,124,2,0,131,2,0,125,3,0,124,3,
+ 0,100,0,0,107,8,0,114,34,0,100,0,0,83,116,1,
+ 0,124,1,0,124,3,0,131,2,0,83,41,1,78,41,2,
+ 114,13,1,0,0,114,174,0,0,0,41,4,114,77,1,0,
+ 0,114,67,0,0,0,114,35,0,0,0,114,170,0,0,0,
+ 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
+ 17,95,102,105,110,100,95,115,112,101,99,95,108,101,103,97,
+ 99,121,58,8,0,0,115,8,0,0,0,0,3,18,1,12,
+ 1,4,1,114,105,1,0,0,99,3,0,0,0,0,0,0,
+ 0,9,0,0,0,26,0,0,0,67,0,0,0,115,41,1,
+ 0,0,116,0,0,106,1,0,100,1,0,107,9,0,114,41,
+ 0,116,0,0,106,1,0,12,114,41,0,116,2,0,106,3,
+ 0,100,2,0,116,4,0,131,2,0,1,124,0,0,116,0,
+ 0,106,5,0,107,6,0,125,3,0,120,234,0,116,0,0,
+ 106,1,0,68,93,219,0,125,4,0,116,6,0,131,0,0,
+ 143,90,0,1,121,13,0,124,4,0,106,7,0,125,5,0,
+ 87,110,51,0,4,116,8,0,107,10,0,114,148,0,1,1,
+ 1,116,9,0,124,4,0,124,0,0,124,1,0,131,3,0,
+ 125,6,0,124,6,0,100,1,0,107,8,0,114,144,0,119,
+ 66,0,89,110,19,0,88,124,5,0,124,0,0,124,1,0,
+ 124,2,0,131,3,0,125,6,0,87,100,1,0,81,88,124,
+ 6,0,100,1,0,107,9,0,114,66,0,124,3,0,12,114,
+ 25,1,124,0,0,116,0,0,106,5,0,107,6,0,114,25,
+ 1,116,0,0,106,5,0,124,0,0,25,125,7,0,121,13,
+ 0,124,7,0,106,10,0,125,8,0,87,110,22,0,4,116,
+ 8,0,107,10,0,114,1,1,1,1,1,124,6,0,83,89,
+ 113,29,1,88,124,8,0,100,1,0,107,8,0,114,18,1,
+ 124,6,0,83,124,8,0,83,113,66,0,124,6,0,83,113,
+ 66,0,87,100,1,0,83,100,1,0,83,41,3,122,23,70,
+ 105,110,100,32,97,32,109,111,100,117,108,101,39,115,32,108,
+ 111,97,100,101,114,46,78,122,22,115,121,115,46,109,101,116,
+ 97,95,112,97,116,104,32,105,115,32,101,109,112,116,121,41,
+ 11,114,7,0,0,0,218,9,109,101,116,97,95,112,97,116,
+ 104,114,167,0,0,0,114,168,0,0,0,114,169,0,0,0,
+ 114,73,0,0,0,114,101,1,0,0,114,12,1,0,0,114,
+ 208,0,0,0,114,105,1,0,0,114,207,0,0,0,41,9,
+ 114,67,0,0,0,114,35,0,0,0,114,11,1,0,0,90,
+ 9,105,115,95,114,101,108,111,97,100,114,77,1,0,0,114,
+ 12,1,0,0,114,177,0,0,0,114,178,0,0,0,114,207,
+ 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,218,10,95,102,105,110,100,95,115,112,101,99,67,8,
+ 0,0,115,48,0,0,0,0,2,25,1,16,4,15,1,16,
+ 1,10,1,3,1,13,1,13,1,18,1,12,1,8,2,24,
+ 1,12,2,22,1,13,1,3,1,13,1,13,4,9,2,12,
+ 1,4,2,7,2,8,2,114,107,1,0,0,99,3,0,0,
+ 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0,
+ 0,115,179,0,0,0,116,0,0,124,0,0,116,1,0,131,
+ 2,0,115,42,0,116,2,0,100,1,0,106,3,0,116,4,
+ 0,124,0,0,131,1,0,131,1,0,131,1,0,130,1,0,
+ 124,2,0,100,2,0,107,0,0,114,66,0,116,5,0,100,
+ 3,0,131,1,0,130,1,0,124,1,0,114,144,0,116,0,
+ 0,124,1,0,116,1,0,131,2,0,115,102,0,116,2,0,
+ 100,4,0,131,1,0,130,1,0,110,42,0,124,1,0,116,
+ 6,0,106,7,0,107,7,0,114,144,0,100,5,0,125,3,
+ 0,116,8,0,124,3,0,106,3,0,124,1,0,131,1,0,
+ 131,1,0,130,1,0,124,0,0,12,114,175,0,124,2,0,
+ 100,2,0,107,2,0,114,175,0,116,5,0,100,6,0,131,
+ 1,0,130,1,0,100,7,0,83,41,8,122,28,86,101,114,
+ 105,102,121,32,97,114,103,117,109,101,110,116,115,32,97,114,
+ 101,32,34,115,97,110,101,34,46,122,31,109,111,100,117,108,
+ 101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,115,
+ 116,114,44,32,110,111,116,32,123,125,114,84,0,0,0,122,
+ 18,108,101,118,101,108,32,109,117,115,116,32,98,101,32,62,
+ 61,32,48,122,31,95,95,112,97,99,107,97,103,101,95,95,
+ 32,110,111,116,32,115,101,116,32,116,111,32,97,32,115,116,
+ 114,105,110,103,122,61,80,97,114,101,110,116,32,109,111,100,
+ 117,108,101,32,123,33,114,125,32,110,111,116,32,108,111,97,
+ 100,101,100,44,32,99,97,110,110,111,116,32,112,101,114,102,
+ 111,114,109,32,114,101,108,97,116,105,118,101,32,105,109,112,
+ 111,114,116,122,17,69,109,112,116,121,32,109,111,100,117,108,
+ 101,32,110,97,109,101,78,41,9,114,191,0,0,0,114,83,
+ 1,0,0,218,9,84,121,112,101,69,114,114,111,114,114,47,
+ 0,0,0,114,66,0,0,0,114,133,0,0,0,114,7,0,
+ 0,0,114,73,0,0,0,218,11,83,121,115,116,101,109,69,
+ 114,114,111,114,41,4,114,67,0,0,0,114,102,1,0,0,
+ 114,103,1,0,0,114,172,0,0,0,114,4,0,0,0,114,
+ 4,0,0,0,114,5,0,0,0,218,13,95,115,97,110,105,
+ 116,121,95,99,104,101,99,107,107,8,0,0,115,24,0,0,
+ 0,0,2,15,1,27,1,12,1,12,1,6,1,15,1,15,
+ 1,15,1,6,2,21,1,19,1,114,110,1,0,0,122,16,
+ 78,111,32,109,111,100,117,108,101,32,110,97,109,101,100,32,
+ 122,4,123,33,114,125,99,2,0,0,0,0,0,0,0,8,
+ 0,0,0,12,0,0,0,67,0,0,0,115,40,1,0,0,
+ 100,0,0,125,2,0,124,0,0,106,0,0,100,1,0,131,
+ 1,0,100,2,0,25,125,3,0,124,3,0,114,175,0,124,
+ 3,0,116,1,0,106,2,0,107,7,0,114,59,0,116,3,
+ 0,124,1,0,124,3,0,131,2,0,1,124,0,0,116,1,
+ 0,106,2,0,107,6,0,114,85,0,116,1,0,106,2,0,
+ 124,0,0,25,83,116,1,0,106,2,0,124,3,0,25,125,
+ 4,0,121,13,0,124,4,0,106,4,0,125,2,0,87,110,
+ 61,0,4,116,5,0,107,10,0,114,174,0,1,1,1,116,
+ 6,0,100,3,0,23,106,7,0,124,0,0,124,3,0,131,
+ 2,0,125,5,0,116,8,0,124,5,0,100,4,0,124,0,
+ 0,131,1,1,100,0,0,130,2,0,89,110,1,0,88,116,
+ 9,0,124,0,0,124,2,0,131,2,0,125,6,0,124,6,
+ 0,100,0,0,107,8,0,114,232,0,116,8,0,116,6,0,
+ 106,7,0,124,0,0,131,1,0,100,4,0,124,0,0,131,
+ 1,1,130,1,0,110,12,0,116,10,0,124,6,0,131,1,
+ 0,125,7,0,124,3,0,114,36,1,116,1,0,106,2,0,
+ 124,3,0,25,125,4,0,116,11,0,124,4,0,124,0,0,
+ 106,0,0,100,1,0,131,1,0,100,5,0,25,124,7,0,
+ 131,3,0,1,124,7,0,83,41,6,78,114,116,0,0,0,
+ 114,84,0,0,0,122,23,59,32,123,33,114,125,32,105,115,
+ 32,110,111,116,32,97,32,112,97,99,107,97,103,101,114,67,
+ 0,0,0,114,115,0,0,0,41,12,114,32,0,0,0,114,
+ 7,0,0,0,114,73,0,0,0,114,114,0,0,0,114,246,
+ 0,0,0,114,208,0,0,0,218,8,95,69,82,82,95,77,
+ 83,71,114,47,0,0,0,114,154,0,0,0,114,107,1,0,
+ 0,114,5,1,0,0,114,61,0,0,0,41,8,114,67,0,
+ 0,0,218,7,105,109,112,111,114,116,95,114,35,0,0,0,
+ 114,233,0,0,0,90,13,112,97,114,101,110,116,95,109,111,
+ 100,117,108,101,114,172,0,0,0,114,177,0,0,0,114,178,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,17,95,102,105,110,100,95,115,112,101,99,95,108,
- 101,103,97,99,121,90,8,0,0,115,8,0,0,0,0,3,
- 18,1,12,1,4,1,114,106,1,0,0,99,3,0,0,0,
- 0,0,0,0,9,0,0,0,26,0,0,0,67,0,0,0,
- 115,34,1,0,0,116,0,0,106,1,0,115,28,0,116,2,
- 0,106,3,0,100,1,0,116,4,0,131,2,0,1,110,0,
- 0,124,0,0,116,0,0,106,5,0,107,6,0,125,3,0,
- 120,240,0,116,0,0,106,1,0,68,93,225,0,125,4,0,
- 116,6,0,131,0,0,143,93,0,1,121,13,0,124,4,0,
- 106,7,0,125,5,0,87,110,54,0,4,116,8,0,107,10,
- 0,114,138,0,1,1,1,116,9,0,124,4,0,124,0,0,
- 124,1,0,131,3,0,125,6,0,124,6,0,100,2,0,107,
- 8,0,114,134,0,119,53,0,110,0,0,89,110,19,0,88,
- 124,5,0,124,0,0,124,1,0,124,2,0,131,3,0,125,
- 6,0,87,100,2,0,81,88,124,6,0,100,2,0,107,9,
- 0,114,53,0,124,3,0,12,114,15,1,124,0,0,116,0,
- 0,106,5,0,107,6,0,114,15,1,116,0,0,106,5,0,
- 124,0,0,25,125,7,0,121,13,0,124,7,0,106,10,0,
- 125,8,0,87,110,22,0,4,116,8,0,107,10,0,114,247,
- 0,1,1,1,124,6,0,83,89,113,19,1,88,124,8,0,
- 100,2,0,107,8,0,114,8,1,124,6,0,83,124,8,0,
- 83,113,22,1,124,6,0,83,113,53,0,113,53,0,87,100,
- 2,0,83,100,2,0,83,41,3,122,23,70,105,110,100,32,
- 97,32,109,111,100,117,108,101,39,115,32,108,111,97,100,101,
- 114,46,122,22,115,121,115,46,109,101,116,97,95,112,97,116,
- 104,32,105,115,32,101,109,112,116,121,78,41,11,114,7,0,
- 0,0,218,9,109,101,116,97,95,112,97,116,104,114,167,0,
- 0,0,114,168,0,0,0,114,169,0,0,0,114,73,0,0,
- 0,114,102,1,0,0,114,14,1,0,0,114,210,0,0,0,
- 114,106,1,0,0,114,209,0,0,0,41,9,114,67,0,0,
- 0,114,35,0,0,0,114,13,1,0,0,90,9,105,115,95,
- 114,101,108,111,97,100,114,78,1,0,0,114,14,1,0,0,
- 114,178,0,0,0,114,180,0,0,0,114,209,0,0,0,114,
+ 0,0,218,23,95,102,105,110,100,95,97,110,100,95,108,111,
+ 97,100,95,117,110,108,111,99,107,101,100,127,8,0,0,115,
+ 42,0,0,0,0,1,6,1,19,1,6,1,15,1,13,2,
+ 15,1,11,1,13,1,3,1,13,1,13,1,22,1,26,1,
+ 15,1,12,1,30,2,12,1,6,2,13,1,29,1,114,113,
+ 1,0,0,99,2,0,0,0,0,0,0,0,2,0,0,0,
+ 10,0,0,0,67,0,0,0,115,36,0,0,0,116,0,0,
+ 124,0,0,131,1,0,143,18,0,1,116,1,0,124,0,0,
+ 124,1,0,131,2,0,83,87,100,1,0,81,88,100,1,0,
+ 83,41,2,122,54,70,105,110,100,32,97,110,100,32,108,111,
+ 97,100,32,116,104,101,32,109,111,100,117,108,101,44,32,97,
+ 110,100,32,114,101,108,101,97,115,101,32,116,104,101,32,105,
+ 109,112,111,114,116,32,108,111,99,107,46,78,41,2,114,103,
+ 0,0,0,114,113,1,0,0,41,2,114,67,0,0,0,114,
+ 112,1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,218,14,95,102,105,110,100,95,97,110,100,95,108,
+ 111,97,100,154,8,0,0,115,4,0,0,0,0,2,13,1,
+ 114,114,1,0,0,99,3,0,0,0,0,0,0,0,5,0,
+ 0,0,4,0,0,0,67,0,0,0,115,166,0,0,0,116,
+ 0,0,124,0,0,124,1,0,124,2,0,131,3,0,1,124,
+ 2,0,100,1,0,107,4,0,114,46,0,116,1,0,124,0,
+ 0,124,1,0,124,2,0,131,3,0,125,0,0,116,2,0,
+ 106,3,0,131,0,0,1,124,0,0,116,4,0,106,5,0,
+ 107,7,0,114,84,0,116,6,0,124,0,0,116,7,0,131,
+ 2,0,83,116,4,0,106,5,0,124,0,0,25,125,3,0,
+ 124,3,0,100,2,0,107,8,0,114,152,0,116,2,0,106,
+ 8,0,131,0,0,1,100,3,0,106,9,0,124,0,0,131,
+ 1,0,125,4,0,116,10,0,124,4,0,100,4,0,124,0,
+ 0,131,1,1,130,1,0,116,11,0,124,0,0,131,1,0,
+ 1,124,3,0,83,41,5,97,50,1,0,0,73,109,112,111,
+ 114,116,32,97,110,100,32,114,101,116,117,114,110,32,116,104,
+ 101,32,109,111,100,117,108,101,32,98,97,115,101,100,32,111,
+ 110,32,105,116,115,32,110,97,109,101,44,32,116,104,101,32,
+ 112,97,99,107,97,103,101,32,116,104,101,32,99,97,108,108,
+ 32,105,115,10,32,32,32,32,98,101,105,110,103,32,109,97,
+ 100,101,32,102,114,111,109,44,32,97,110,100,32,116,104,101,
+ 32,108,101,118,101,108,32,97,100,106,117,115,116,109,101,110,
+ 116,46,10,10,32,32,32,32,84,104,105,115,32,102,117,110,
+ 99,116,105,111,110,32,114,101,112,114,101,115,101,110,116,115,
+ 32,116,104,101,32,103,114,101,97,116,101,115,116,32,99,111,
+ 109,109,111,110,32,100,101,110,111,109,105,110,97,116,111,114,
+ 32,111,102,32,102,117,110,99,116,105,111,110,97,108,105,116,
+ 121,10,32,32,32,32,98,101,116,119,101,101,110,32,105,109,
+ 112,111,114,116,95,109,111,100,117,108,101,32,97,110,100,32,
+ 95,95,105,109,112,111,114,116,95,95,46,32,84,104,105,115,
+ 32,105,110,99,108,117,100,101,115,32,115,101,116,116,105,110,
+ 103,32,95,95,112,97,99,107,97,103,101,95,95,32,105,102,
+ 10,32,32,32,32,116,104,101,32,108,111,97,100,101,114,32,
+ 100,105,100,32,110,111,116,46,10,10,32,32,32,32,114,84,
+ 0,0,0,78,122,40,105,109,112,111,114,116,32,111,102,32,
+ 123,125,32,104,97,108,116,101,100,59,32,78,111,110,101,32,
+ 105,110,32,115,121,115,46,109,111,100,117,108,101,115,114,67,
+ 0,0,0,41,12,114,110,1,0,0,114,104,1,0,0,114,
+ 106,0,0,0,114,2,1,0,0,114,7,0,0,0,114,73,
+ 0,0,0,114,114,1,0,0,218,11,95,103,99,100,95,105,
+ 109,112,111,114,116,114,107,0,0,0,114,47,0,0,0,114,
+ 154,0,0,0,114,112,0,0,0,41,5,114,67,0,0,0,
+ 114,102,1,0,0,114,103,1,0,0,114,178,0,0,0,114,
+ 152,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
+ 0,0,0,114,115,1,0,0,160,8,0,0,115,28,0,0,
+ 0,0,9,16,1,12,1,18,1,10,1,15,1,13,1,13,
+ 1,12,1,10,1,6,1,9,1,18,1,10,1,114,115,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,239,0,0,0,116,0,0,124,
+ 0,0,100,1,0,131,2,0,114,235,0,100,2,0,124,1,
+ 0,107,6,0,114,83,0,116,1,0,124,1,0,131,1,0,
+ 125,1,0,124,1,0,106,2,0,100,2,0,131,1,0,1,
+ 116,0,0,124,0,0,100,3,0,131,2,0,114,83,0,124,
+ 1,0,106,3,0,124,0,0,106,4,0,131,1,0,1,120,
+ 149,0,124,1,0,68,93,141,0,125,3,0,116,0,0,124,
+ 0,0,124,3,0,131,2,0,115,90,0,100,4,0,106,5,
+ 0,124,0,0,106,6,0,124,3,0,131,2,0,125,4,0,
+ 121,17,0,116,7,0,124,2,0,124,4,0,131,2,0,1,
+ 87,113,90,0,4,116,8,0,107,10,0,114,230,0,1,125,
+ 5,0,1,122,47,0,116,9,0,124,5,0,131,1,0,106,
+ 10,0,116,11,0,131,1,0,114,209,0,124,5,0,106,12,
+ 0,124,4,0,107,2,0,114,209,0,119,90,0,130,0,0,
+ 87,89,100,5,0,100,5,0,125,5,0,126,5,0,88,113,
+ 90,0,88,113,90,0,87,124,0,0,83,41,6,122,238,70,
+ 105,103,117,114,101,32,111,117,116,32,119,104,97,116,32,95,
+ 95,105,109,112,111,114,116,95,95,32,115,104,111,117,108,100,
+ 32,114,101,116,117,114,110,46,10,10,32,32,32,32,84,104,
+ 101,32,105,109,112,111,114,116,95,32,112,97,114,97,109,101,
+ 116,101,114,32,105,115,32,97,32,99,97,108,108,97,98,108,
+ 101,32,119,104,105,99,104,32,116,97,107,101,115,32,116,104,
+ 101,32,110,97,109,101,32,111,102,32,109,111,100,117,108,101,
+ 32,116,111,10,32,32,32,32,105,109,112,111,114,116,46,32,
+ 73,116,32,105,115,32,114,101,113,117,105,114,101,100,32,116,
+ 111,32,100,101,99,111,117,112,108,101,32,116,104,101,32,102,
+ 117,110,99,116,105,111,110,32,102,114,111,109,32,97,115,115,
+ 117,109,105,110,103,32,105,109,112,111,114,116,108,105,98,39,
+ 115,10,32,32,32,32,105,109,112,111,114,116,32,105,109,112,
+ 108,101,109,101,110,116,97,116,105,111,110,32,105,115,32,100,
+ 101,115,105,114,101,100,46,10,10,32,32,32,32,114,246,0,
+ 0,0,250,1,42,218,7,95,95,97,108,108,95,95,122,5,
+ 123,125,46,123,125,78,41,13,114,60,0,0,0,114,245,0,
+ 0,0,218,6,114,101,109,111,118,101,114,196,0,0,0,114,
+ 117,1,0,0,114,47,0,0,0,114,57,0,0,0,114,114,
+ 0,0,0,114,154,0,0,0,114,83,1,0,0,114,9,0,
+ 0,0,218,15,95,69,82,82,95,77,83,71,95,80,82,69,
+ 70,73,88,114,67,0,0,0,41,6,114,178,0,0,0,218,
+ 8,102,114,111,109,108,105,115,116,114,112,1,0,0,114,16,
+ 0,0,0,90,9,102,114,111,109,95,110,97,109,101,114,40,
+ 1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
+ 0,0,218,16,95,104,97,110,100,108,101,95,102,114,111,109,
+ 108,105,115,116,184,8,0,0,115,34,0,0,0,0,10,15,
+ 1,12,1,12,1,13,1,15,1,16,1,13,1,15,1,21,
+ 1,3,1,17,1,18,4,21,1,15,1,3,1,26,1,114,
+ 121,1,0,0,99,1,0,0,0,0,0,0,0,2,0,0,
+ 0,2,0,0,0,67,0,0,0,115,72,0,0,0,124,0,
+ 0,106,0,0,100,1,0,131,1,0,125,1,0,124,1,0,
+ 100,2,0,107,8,0,114,68,0,124,0,0,100,3,0,25,
+ 125,1,0,100,4,0,124,0,0,107,7,0,114,68,0,124,
+ 1,0,106,1,0,100,5,0,131,1,0,100,6,0,25,125,
+ 1,0,124,1,0,83,41,7,122,167,67,97,108,99,117,108,
+ 97,116,101,32,119,104,97,116,32,95,95,112,97,99,107,97,
+ 103,101,95,95,32,115,104,111,117,108,100,32,98,101,46,10,
+ 10,32,32,32,32,95,95,112,97,99,107,97,103,101,95,95,
+ 32,105,115,32,110,111,116,32,103,117,97,114,97,110,116,101,
+ 101,100,32,116,111,32,98,101,32,100,101,102,105,110,101,100,
+ 32,111,114,32,99,111,117,108,100,32,98,101,32,115,101,116,
+ 32,116,111,32,78,111,110,101,10,32,32,32,32,116,111,32,
+ 114,101,112,114,101,115,101,110,116,32,116,104,97,116,32,105,
+ 116,115,32,112,114,111,112,101,114,32,118,97,108,117,101,32,
+ 105,115,32,117,110,107,110,111,119,110,46,10,10,32,32,32,
+ 32,114,249,0,0,0,78,114,57,0,0,0,114,246,0,0,
+ 0,114,116,0,0,0,114,84,0,0,0,41,2,114,93,0,
+ 0,0,114,32,0,0,0,41,2,218,7,103,108,111,98,97,
+ 108,115,114,102,1,0,0,114,4,0,0,0,114,4,0,0,
+ 0,114,5,0,0,0,218,17,95,99,97,108,99,95,95,95,
+ 112,97,99,107,97,103,101,95,95,216,8,0,0,115,12,0,
+ 0,0,0,7,15,1,12,1,10,1,12,1,19,1,114,123,
+ 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,55,0,0,0,116,0,0,
+ 116,1,0,106,2,0,131,0,0,102,2,0,125,0,0,116,
+ 3,0,116,4,0,102,2,0,125,1,0,116,5,0,116,6,
+ 0,102,2,0,125,2,0,124,0,0,124,1,0,124,2,0,
+ 103,3,0,83,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,56,1,0,0,114,106,
+ 0,0,0,218,18,101,120,116,101,110,115,105,111,110,95,115,
+ 117,102,102,105,120,101,115,114,7,1,0,0,114,135,0,0,
+ 0,114,6,1,0,0,114,232,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,5,0,0,0,114,240,0,0,0,231,
+ 8,0,0,115,8,0,0,0,0,5,18,1,12,1,12,1,
+ 114,240,0,0,0,99,5,0,0,0,0,0,0,0,9,0,
+ 0,0,5,0,0,0,67,0,0,0,115,227,0,0,0,124,
+ 4,0,100,1,0,107,2,0,114,27,0,116,0,0,124,0,
+ 0,131,1,0,125,5,0,110,54,0,124,1,0,100,2,0,
+ 107,9,0,114,45,0,124,1,0,110,3,0,105,0,0,125,
+ 6,0,116,1,0,124,6,0,131,1,0,125,7,0,116,0,
+ 0,124,0,0,124,7,0,124,4,0,131,3,0,125,5,0,
+ 124,3,0,115,207,0,124,4,0,100,1,0,107,2,0,114,
+ 122,0,116,0,0,124,0,0,106,2,0,100,3,0,131,1,
+ 0,100,1,0,25,131,1,0,83,124,0,0,115,132,0,124,
+ 5,0,83,116,3,0,124,0,0,131,1,0,116,3,0,124,
+ 0,0,106,2,0,100,3,0,131,1,0,100,1,0,25,131,
+ 1,0,24,125,8,0,116,4,0,106,5,0,124,5,0,106,
+ 6,0,100,2,0,116,3,0,124,5,0,106,6,0,131,1,
+ 0,124,8,0,24,133,2,0,25,25,83,110,16,0,116,7,
+ 0,124,5,0,124,3,0,116,0,0,131,3,0,83,100,2,
+ 0,83,41,4,97,214,1,0,0,73,109,112,111,114,116,32,
+ 97,32,109,111,100,117,108,101,46,10,10,32,32,32,32,84,
+ 104,101,32,39,103,108,111,98,97,108,115,39,32,97,114,103,
+ 117,109,101,110,116,32,105,115,32,117,115,101,100,32,116,111,
+ 32,105,110,102,101,114,32,119,104,101,114,101,32,116,104,101,
+ 32,105,109,112,111,114,116,32,105,115,32,111,99,99,117,114,
+ 105,110,103,32,102,114,111,109,10,32,32,32,32,116,111,32,
+ 104,97,110,100,108,101,32,114,101,108,97,116,105,118,101,32,
+ 105,109,112,111,114,116,115,46,32,84,104,101,32,39,108,111,
+ 99,97,108,115,39,32,97,114,103,117,109,101,110,116,32,105,
+ 115,32,105,103,110,111,114,101,100,46,32,84,104,101,10,32,
+ 32,32,32,39,102,114,111,109,108,105,115,116,39,32,97,114,
+ 103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,115,
+ 32,119,104,97,116,32,115,104,111,117,108,100,32,101,120,105,
+ 115,116,32,97,115,32,97,116,116,114,105,98,117,116,101,115,
+ 32,111,110,32,116,104,101,32,109,111,100,117,108,101,10,32,
+ 32,32,32,98,101,105,110,103,32,105,109,112,111,114,116,101,
+ 100,32,40,101,46,103,46,32,96,96,102,114,111,109,32,109,
+ 111,100,117,108,101,32,105,109,112,111,114,116,32,60,102,114,
+ 111,109,108,105,115,116,62,96,96,41,46,32,32,84,104,101,
+ 32,39,108,101,118,101,108,39,10,32,32,32,32,97,114,103,
+ 117,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,
+ 32,116,104,101,32,112,97,99,107,97,103,101,32,108,111,99,
+ 97,116,105,111,110,32,116,111,32,105,109,112,111,114,116,32,
+ 102,114,111,109,32,105,110,32,97,32,114,101,108,97,116,105,
+ 118,101,10,32,32,32,32,105,109,112,111,114,116,32,40,101,
+ 46,103,46,32,96,96,102,114,111,109,32,46,46,112,107,103,
+ 32,105,109,112,111,114,116,32,109,111,100,96,96,32,119,111,
+ 117,108,100,32,104,97,118,101,32,97,32,39,108,101,118,101,
+ 108,39,32,111,102,32,50,41,46,10,10,32,32,32,32,114,
+ 84,0,0,0,78,114,116,0,0,0,41,8,114,115,1,0,
+ 0,114,123,1,0,0,114,134,0,0,0,114,31,0,0,0,
+ 114,7,0,0,0,114,73,0,0,0,114,57,0,0,0,114,
+ 121,1,0,0,41,9,114,67,0,0,0,114,122,1,0,0,
+ 218,6,108,111,99,97,108,115,114,120,1,0,0,114,103,1,
+ 0,0,114,178,0,0,0,90,8,103,108,111,98,97,108,115,
+ 95,114,102,1,0,0,90,7,99,117,116,95,111,102,102,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,10,
- 95,102,105,110,100,95,115,112,101,99,99,8,0,0,115,48,
- 0,0,0,0,2,9,1,19,4,15,1,16,1,10,1,3,
- 1,13,1,13,1,18,1,12,1,11,2,24,1,12,2,22,
- 1,13,1,3,1,13,1,13,4,9,2,12,1,4,2,7,
- 2,11,2,114,108,1,0,0,99,3,0,0,0,0,0,0,
- 0,4,0,0,0,4,0,0,0,67,0,0,0,115,194,0,
- 0,0,116,0,0,124,0,0,116,1,0,131,2,0,115,45,
- 0,116,2,0,100,1,0,106,3,0,116,4,0,124,0,0,
- 131,1,0,131,1,0,131,1,0,130,1,0,110,0,0,124,
- 2,0,100,2,0,107,0,0,114,72,0,116,5,0,100,3,
- 0,131,1,0,130,1,0,110,0,0,124,1,0,114,156,0,
- 116,0,0,124,1,0,116,1,0,131,2,0,115,108,0,116,
- 2,0,100,4,0,131,1,0,130,1,0,113,156,0,124,1,
- 0,116,6,0,106,7,0,107,7,0,114,156,0,100,5,0,
- 125,3,0,116,8,0,124,3,0,106,3,0,124,1,0,131,
- 1,0,131,1,0,130,1,0,113,156,0,110,0,0,124,0,
- 0,12,114,190,0,124,2,0,100,2,0,107,2,0,114,190,
- 0,116,5,0,100,6,0,131,1,0,130,1,0,110,0,0,
- 100,7,0,83,41,8,122,28,86,101,114,105,102,121,32,97,
- 114,103,117,109,101,110,116,115,32,97,114,101,32,34,115,97,
- 110,101,34,46,122,31,109,111,100,117,108,101,32,110,97,109,
- 101,32,109,117,115,116,32,98,101,32,115,116,114,44,32,110,
- 111,116,32,123,125,114,84,0,0,0,122,18,108,101,118,101,
- 108,32,109,117,115,116,32,98,101,32,62,61,32,48,122,31,
- 95,95,112,97,99,107,97,103,101,95,95,32,110,111,116,32,
- 115,101,116,32,116,111,32,97,32,115,116,114,105,110,103,122,
- 61,80,97,114,101,110,116,32,109,111,100,117,108,101,32,123,
- 33,114,125,32,110,111,116,32,108,111,97,100,101,100,44,32,
- 99,97,110,110,111,116,32,112,101,114,102,111,114,109,32,114,
- 101,108,97,116,105,118,101,32,105,109,112,111,114,116,122,17,
- 69,109,112,116,121,32,109,111,100,117,108,101,32,110,97,109,
- 101,78,41,9,114,193,0,0,0,114,83,1,0,0,218,9,
- 84,121,112,101,69,114,114,111,114,114,47,0,0,0,114,66,
- 0,0,0,114,133,0,0,0,114,7,0,0,0,114,73,0,
- 0,0,218,11,83,121,115,116,101,109,69,114,114,111,114,41,
- 4,114,67,0,0,0,114,103,1,0,0,114,104,1,0,0,
- 114,172,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,218,13,95,115,97,110,105,116,121,95,99,104,
- 101,99,107,139,8,0,0,115,24,0,0,0,0,2,15,1,
- 30,1,12,1,15,1,6,1,15,1,15,1,15,1,6,2,
- 27,1,19,1,114,111,1,0,0,122,16,78,111,32,109,111,
- 100,117,108,101,32,110,97,109,101,100,32,122,4,123,33,114,
- 125,99,2,0,0,0,0,0,0,0,8,0,0,0,12,0,
- 0,0,67,0,0,0,115,52,1,0,0,100,0,0,125,2,
- 0,124,0,0,106,0,0,100,1,0,131,1,0,100,2,0,
- 25,125,3,0,124,3,0,114,178,0,124,3,0,116,1,0,
- 106,2,0,107,7,0,114,62,0,116,3,0,124,1,0,124,
- 3,0,131,2,0,1,110,0,0,124,0,0,116,1,0,106,
- 2,0,107,6,0,114,88,0,116,1,0,106,2,0,124,0,
- 0,25,83,116,1,0,106,2,0,124,3,0,25,125,4,0,
- 121,13,0,124,4,0,106,4,0,125,2,0,87,113,178,0,
- 4,116,5,0,107,10,0,114,174,0,1,1,1,116,6,0,
- 100,3,0,23,106,7,0,124,0,0,124,3,0,131,2,0,
- 125,5,0,116,8,0,124,5,0,100,4,0,124,0,0,131,
- 1,1,130,1,0,89,113,178,0,88,110,0,0,116,9,0,
- 124,0,0,124,2,0,131,2,0,125,6,0,124,6,0,100,
- 0,0,107,8,0,114,235,0,116,8,0,116,6,0,106,7,
- 0,124,0,0,131,1,0,100,4,0,124,0,0,131,1,1,
- 130,1,0,110,18,0,116,10,0,124,6,0,131,1,0,106,
- 11,0,131,0,0,125,7,0,124,3,0,114,48,1,116,1,
- 0,106,2,0,124,3,0,25,125,4,0,116,12,0,124,4,
- 0,124,0,0,106,0,0,100,1,0,131,1,0,100,5,0,
- 25,124,7,0,131,3,0,1,110,0,0,124,7,0,83,41,
- 6,78,114,116,0,0,0,114,84,0,0,0,122,23,59,32,
- 123,33,114,125,32,105,115,32,110,111,116,32,97,32,112,97,
- 99,107,97,103,101,114,67,0,0,0,114,115,0,0,0,41,
- 13,114,32,0,0,0,114,7,0,0,0,114,73,0,0,0,
- 114,114,0,0,0,114,247,0,0,0,114,210,0,0,0,218,
- 8,95,69,82,82,95,77,83,71,114,47,0,0,0,114,154,
- 0,0,0,114,108,1,0,0,114,175,0,0,0,114,7,1,
- 0,0,114,61,0,0,0,41,8,114,67,0,0,0,218,7,
- 105,109,112,111,114,116,95,114,35,0,0,0,114,234,0,0,
- 0,90,13,112,97,114,101,110,116,95,109,111,100,117,108,101,
- 114,172,0,0,0,114,178,0,0,0,114,180,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,23,
- 95,102,105,110,100,95,97,110,100,95,108,111,97,100,95,117,
- 110,108,111,99,107,101,100,159,8,0,0,115,42,0,0,0,
- 0,1,6,1,19,1,6,1,15,1,16,2,15,1,11,1,
- 13,1,3,1,13,1,13,1,22,1,26,1,15,1,12,1,
- 30,2,18,1,6,2,13,1,32,1,114,114,1,0,0,99,
- 2,0,0,0,0,0,0,0,2,0,0,0,10,0,0,0,
- 67,0,0,0,115,36,0,0,0,116,0,0,124,0,0,131,
- 1,0,143,18,0,1,116,1,0,124,0,0,124,1,0,131,
- 2,0,83,87,100,1,0,81,88,100,1,0,83,41,2,122,
- 54,70,105,110,100,32,97,110,100,32,108,111,97,100,32,116,
- 104,101,32,109,111,100,117,108,101,44,32,97,110,100,32,114,
- 101,108,101,97,115,101,32,116,104,101,32,105,109,112,111,114,
- 116,32,108,111,99,107,46,78,41,2,114,103,0,0,0,114,
- 114,1,0,0,41,2,114,67,0,0,0,114,113,1,0,0,
- 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,
- 14,95,102,105,110,100,95,97,110,100,95,108,111,97,100,186,
- 8,0,0,115,4,0,0,0,0,2,13,1,114,115,1,0,
- 0,99,3,0,0,0,0,0,0,0,5,0,0,0,4,0,
- 0,0,67,0,0,0,115,172,0,0,0,116,0,0,124,0,
- 0,124,1,0,124,2,0,131,3,0,1,124,2,0,100,1,
- 0,107,4,0,114,49,0,116,1,0,124,0,0,124,1,0,
- 124,2,0,131,3,0,125,0,0,110,0,0,116,2,0,106,
- 3,0,131,0,0,1,124,0,0,116,4,0,106,5,0,107,
- 7,0,114,87,0,116,6,0,124,0,0,116,7,0,131,2,
- 0,83,116,4,0,106,5,0,124,0,0,25,125,3,0,124,
- 3,0,100,2,0,107,8,0,114,158,0,116,2,0,106,8,
- 0,131,0,0,1,100,3,0,106,9,0,124,0,0,131,1,
- 0,125,4,0,116,10,0,124,4,0,100,4,0,124,0,0,
- 131,1,1,130,1,0,110,0,0,116,11,0,124,0,0,131,
- 1,0,1,124,3,0,83,41,5,97,50,1,0,0,73,109,
- 112,111,114,116,32,97,110,100,32,114,101,116,117,114,110,32,
- 116,104,101,32,109,111,100,117,108,101,32,98,97,115,101,100,
- 32,111,110,32,105,116,115,32,110,97,109,101,44,32,116,104,
- 101,32,112,97,99,107,97,103,101,32,116,104,101,32,99,97,
- 108,108,32,105,115,10,32,32,32,32,98,101,105,110,103,32,
- 109,97,100,101,32,102,114,111,109,44,32,97,110,100,32,116,
- 104,101,32,108,101,118,101,108,32,97,100,106,117,115,116,109,
- 101,110,116,46,10,10,32,32,32,32,84,104,105,115,32,102,
- 117,110,99,116,105,111,110,32,114,101,112,114,101,115,101,110,
- 116,115,32,116,104,101,32,103,114,101,97,116,101,115,116,32,
- 99,111,109,109,111,110,32,100,101,110,111,109,105,110,97,116,
- 111,114,32,111,102,32,102,117,110,99,116,105,111,110,97,108,
- 105,116,121,10,32,32,32,32,98,101,116,119,101,101,110,32,
- 105,109,112,111,114,116,95,109,111,100,117,108,101,32,97,110,
- 100,32,95,95,105,109,112,111,114,116,95,95,46,32,84,104,
- 105,115,32,105,110,99,108,117,100,101,115,32,115,101,116,116,
- 105,110,103,32,95,95,112,97,99,107,97,103,101,95,95,32,
- 105,102,10,32,32,32,32,116,104,101,32,108,111,97,100,101,
- 114,32,100,105,100,32,110,111,116,46,10,10,32,32,32,32,
- 114,84,0,0,0,78,122,40,105,109,112,111,114,116,32,111,
- 102,32,123,125,32,104,97,108,116,101,100,59,32,78,111,110,
- 101,32,105,110,32,115,121,115,46,109,111,100,117,108,101,115,
- 114,67,0,0,0,41,12,114,111,1,0,0,114,105,1,0,
- 0,114,106,0,0,0,114,4,1,0,0,114,7,0,0,0,
- 114,73,0,0,0,114,115,1,0,0,218,11,95,103,99,100,
- 95,105,109,112,111,114,116,114,107,0,0,0,114,47,0,0,
- 0,114,154,0,0,0,114,112,0,0,0,41,5,114,67,0,
- 0,0,114,103,1,0,0,114,104,1,0,0,114,180,0,0,
- 0,114,152,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,116,1,0,0,192,8,0,0,115,28,
- 0,0,0,0,9,16,1,12,1,21,1,10,1,15,1,13,
- 1,13,1,12,1,10,1,6,1,9,1,21,1,10,1,114,
- 116,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,1,1,0,0,116,0,
- 0,124,0,0,100,1,0,131,2,0,114,253,0,100,2,0,
- 124,1,0,107,6,0,114,89,0,116,1,0,124,1,0,131,
- 1,0,125,1,0,124,1,0,106,2,0,100,2,0,131,1,
- 0,1,116,0,0,124,0,0,100,3,0,131,2,0,114,89,
- 0,124,1,0,106,3,0,124,0,0,106,4,0,131,1,0,
- 1,113,89,0,110,0,0,120,161,0,124,1,0,68,93,150,
- 0,125,3,0,116,0,0,124,0,0,124,3,0,131,2,0,
- 115,96,0,100,4,0,106,5,0,124,0,0,106,6,0,124,
- 3,0,131,2,0,125,4,0,121,17,0,116,7,0,124,2,
- 0,124,4,0,131,2,0,1,87,113,246,0,4,116,8,0,
- 107,10,0,114,242,0,1,125,5,0,1,122,53,0,116,9,
- 0,124,5,0,131,1,0,106,10,0,116,11,0,131,1,0,
- 114,221,0,124,5,0,106,12,0,124,4,0,107,2,0,114,
- 221,0,119,96,0,113,221,0,110,0,0,130,0,0,87,89,
- 100,5,0,100,5,0,125,5,0,126,5,0,88,113,246,0,
- 88,113,96,0,113,96,0,87,110,0,0,124,0,0,83,41,
- 6,122,238,70,105,103,117,114,101,32,111,117,116,32,119,104,
- 97,116,32,95,95,105,109,112,111,114,116,95,95,32,115,104,
- 111,117,108,100,32,114,101,116,117,114,110,46,10,10,32,32,
- 32,32,84,104,101,32,105,109,112,111,114,116,95,32,112,97,
- 114,97,109,101,116,101,114,32,105,115,32,97,32,99,97,108,
- 108,97,98,108,101,32,119,104,105,99,104,32,116,97,107,101,
- 115,32,116,104,101,32,110,97,109,101,32,111,102,32,109,111,
- 100,117,108,101,32,116,111,10,32,32,32,32,105,109,112,111,
- 114,116,46,32,73,116,32,105,115,32,114,101,113,117,105,114,
- 101,100,32,116,111,32,100,101,99,111,117,112,108,101,32,116,
- 104,101,32,102,117,110,99,116,105,111,110,32,102,114,111,109,
- 32,97,115,115,117,109,105,110,103,32,105,109,112,111,114,116,
- 108,105,98,39,115,10,32,32,32,32,105,109,112,111,114,116,
- 32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,
- 105,115,32,100,101,115,105,114,101,100,46,10,10,32,32,32,
- 32,114,247,0,0,0,250,1,42,218,7,95,95,97,108,108,
- 95,95,122,5,123,125,46,123,125,78,41,13,114,60,0,0,
- 0,114,246,0,0,0,218,6,114,101,109,111,118,101,114,198,
- 0,0,0,114,118,1,0,0,114,47,0,0,0,114,57,0,
- 0,0,114,114,0,0,0,114,154,0,0,0,114,83,1,0,
- 0,114,9,0,0,0,218,15,95,69,82,82,95,77,83,71,
- 95,80,82,69,70,73,88,114,67,0,0,0,41,6,114,180,
- 0,0,0,218,8,102,114,111,109,108,105,115,116,114,113,1,
- 0,0,114,16,0,0,0,90,9,102,114,111,109,95,110,97,
- 109,101,114,41,1,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,218,16,95,104,97,110,100,108,101,95,
- 102,114,111,109,108,105,115,116,216,8,0,0,115,34,0,0,
- 0,0,10,15,1,12,1,12,1,13,1,15,1,22,1,13,
- 1,15,1,21,1,3,1,17,1,18,4,21,1,15,1,9,
- 1,32,1,114,122,1,0,0,99,1,0,0,0,0,0,0,
- 0,2,0,0,0,2,0,0,0,67,0,0,0,115,78,0,
- 0,0,124,0,0,106,0,0,100,1,0,131,1,0,125,1,
- 0,124,1,0,100,2,0,107,8,0,114,74,0,124,0,0,
- 100,3,0,25,125,1,0,100,4,0,124,0,0,107,7,0,
- 114,74,0,124,1,0,106,1,0,100,5,0,131,1,0,100,
- 6,0,25,125,1,0,113,74,0,110,0,0,124,1,0,83,
- 41,7,122,167,67,97,108,99,117,108,97,116,101,32,119,104,
- 97,116,32,95,95,112,97,99,107,97,103,101,95,95,32,115,
- 104,111,117,108,100,32,98,101,46,10,10,32,32,32,32,95,
- 95,112,97,99,107,97,103,101,95,95,32,105,115,32,110,111,
- 116,32,103,117,97,114,97,110,116,101,101,100,32,116,111,32,
- 98,101,32,100,101,102,105,110,101,100,32,111,114,32,99,111,
- 117,108,100,32,98,101,32,115,101,116,32,116,111,32,78,111,
- 110,101,10,32,32,32,32,116,111,32,114,101,112,114,101,115,
- 101,110,116,32,116,104,97,116,32,105,116,115,32,112,114,111,
- 112,101,114,32,118,97,108,117,101,32,105,115,32,117,110,107,
- 110,111,119,110,46,10,10,32,32,32,32,114,251,0,0,0,
- 78,114,57,0,0,0,114,247,0,0,0,114,116,0,0,0,
- 114,84,0,0,0,41,2,114,93,0,0,0,114,32,0,0,
- 0,41,2,218,7,103,108,111,98,97,108,115,114,103,1,0,
+ 95,95,105,109,112,111,114,116,95,95,242,8,0,0,115,26,
+ 0,0,0,0,11,12,1,15,2,24,1,12,1,18,1,6,
+ 3,12,1,23,1,6,1,4,4,35,3,40,2,114,126,1,
+ 0,0,99,1,0,0,0,0,0,0,0,2,0,0,0,3,
+ 0,0,0,67,0,0,0,115,53,0,0,0,116,0,0,106,
+ 1,0,124,0,0,131,1,0,125,1,0,124,1,0,100,0,
+ 0,107,8,0,114,43,0,116,2,0,100,1,0,124,0,0,
+ 23,131,1,0,130,1,0,116,3,0,124,1,0,131,1,0,
+ 83,41,2,78,122,25,110,111,32,98,117,105,108,116,45,105,
+ 110,32,109,111,100,117,108,101,32,110,97,109,101,100,32,41,
+ 4,114,9,1,0,0,114,12,1,0,0,114,154,0,0,0,
+ 114,5,1,0,0,41,2,114,67,0,0,0,114,177,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 218,17,95,99,97,108,99,95,95,95,112,97,99,107,97,103,
- 101,95,95,248,8,0,0,115,12,0,0,0,0,7,15,1,
- 12,1,10,1,12,1,25,1,114,124,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,55,0,0,0,116,0,0,116,1,0,106,2,0,
- 131,0,0,102,2,0,125,0,0,116,3,0,116,4,0,102,
- 2,0,125,1,0,116,5,0,116,6,0,102,2,0,125,2,
- 0,124,0,0,124,1,0,124,2,0,103,3,0,83,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,57,1,0,0,114,106,0,0,0,218,18,101,
- 120,116,101,110,115,105,111,110,95,115,117,102,102,105,120,101,
- 115,114,9,1,0,0,114,135,0,0,0,114,8,1,0,0,
- 114,233,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,
- 5,0,0,0,114,241,0,0,0,7,9,0,0,115,8,0,
- 0,0,0,5,18,1,12,1,12,1,114,241,0,0,0,99,
- 5,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,
- 67,0,0,0,115,227,0,0,0,124,4,0,100,1,0,107,
- 2,0,114,27,0,116,0,0,124,0,0,131,1,0,125,5,
- 0,110,54,0,124,1,0,100,2,0,107,9,0,114,45,0,
- 124,1,0,110,3,0,105,0,0,125,6,0,116,1,0,124,
- 6,0,131,1,0,125,7,0,116,0,0,124,0,0,124,7,
- 0,124,4,0,131,3,0,125,5,0,124,3,0,115,207,0,
- 124,4,0,100,1,0,107,2,0,114,122,0,116,0,0,124,
- 0,0,106,2,0,100,3,0,131,1,0,100,1,0,25,131,
- 1,0,83,124,0,0,115,132,0,124,5,0,83,116,3,0,
- 124,0,0,131,1,0,116,3,0,124,0,0,106,2,0,100,
- 3,0,131,1,0,100,1,0,25,131,1,0,24,125,8,0,
- 116,4,0,106,5,0,124,5,0,106,6,0,100,2,0,116,
- 3,0,124,5,0,106,6,0,131,1,0,124,8,0,24,133,
- 2,0,25,25,83,110,16,0,116,7,0,124,5,0,124,3,
- 0,116,0,0,131,3,0,83,100,2,0,83,41,4,97,214,
- 1,0,0,73,109,112,111,114,116,32,97,32,109,111,100,117,
- 108,101,46,10,10,32,32,32,32,84,104,101,32,39,103,108,
- 111,98,97,108,115,39,32,97,114,103,117,109,101,110,116,32,
- 105,115,32,117,115,101,100,32,116,111,32,105,110,102,101,114,
- 32,119,104,101,114,101,32,116,104,101,32,105,109,112,111,114,
- 116,32,105,115,32,111,99,99,117,114,105,110,103,32,102,114,
- 111,109,10,32,32,32,32,116,111,32,104,97,110,100,108,101,
- 32,114,101,108,97,116,105,118,101,32,105,109,112,111,114,116,
- 115,46,32,84,104,101,32,39,108,111,99,97,108,115,39,32,
- 97,114,103,117,109,101,110,116,32,105,115,32,105,103,110,111,
- 114,101,100,46,32,84,104,101,10,32,32,32,32,39,102,114,
- 111,109,108,105,115,116,39,32,97,114,103,117,109,101,110,116,
- 32,115,112,101,99,105,102,105,101,115,32,119,104,97,116,32,
- 115,104,111,117,108,100,32,101,120,105,115,116,32,97,115,32,
- 97,116,116,114,105,98,117,116,101,115,32,111,110,32,116,104,
- 101,32,109,111,100,117,108,101,10,32,32,32,32,98,101,105,
- 110,103,32,105,109,112,111,114,116,101,100,32,40,101,46,103,
- 46,32,96,96,102,114,111,109,32,109,111,100,117,108,101,32,
- 105,109,112,111,114,116,32,60,102,114,111,109,108,105,115,116,
- 62,96,96,41,46,32,32,84,104,101,32,39,108,101,118,101,
- 108,39,10,32,32,32,32,97,114,103,117,109,101,110,116,32,
- 114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,112,
- 97,99,107,97,103,101,32,108,111,99,97,116,105,111,110,32,
- 116,111,32,105,109,112,111,114,116,32,102,114,111,109,32,105,
- 110,32,97,32,114,101,108,97,116,105,118,101,10,32,32,32,
- 32,105,109,112,111,114,116,32,40,101,46,103,46,32,96,96,
- 102,114,111,109,32,46,46,112,107,103,32,105,109,112,111,114,
- 116,32,109,111,100,96,96,32,119,111,117,108,100,32,104,97,
- 118,101,32,97,32,39,108,101,118,101,108,39,32,111,102,32,
- 50,41,46,10,10,32,32,32,32,114,84,0,0,0,78,114,
- 116,0,0,0,41,8,114,116,1,0,0,114,124,1,0,0,
- 114,134,0,0,0,114,31,0,0,0,114,7,0,0,0,114,
- 73,0,0,0,114,57,0,0,0,114,122,1,0,0,41,9,
- 114,67,0,0,0,114,123,1,0,0,218,6,108,111,99,97,
- 108,115,114,121,1,0,0,114,104,1,0,0,114,180,0,0,
- 0,90,8,103,108,111,98,97,108,115,95,114,103,1,0,0,
- 90,7,99,117,116,95,111,102,102,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,218,10,95,95,105,109,112,111,
- 114,116,95,95,18,9,0,0,115,26,0,0,0,0,11,12,
- 1,15,2,24,1,12,1,18,1,6,3,12,1,23,1,6,
- 1,4,4,35,3,40,2,114,127,1,0,0,99,1,0,0,
- 0,0,0,0,0,3,0,0,0,3,0,0,0,67,0,0,
- 0,115,68,0,0,0,116,0,0,106,1,0,124,0,0,131,
- 1,0,125,1,0,124,1,0,100,0,0,107,8,0,114,46,
- 0,116,2,0,100,1,0,124,0,0,23,131,1,0,130,1,
- 0,110,0,0,116,3,0,124,1,0,131,1,0,125,2,0,
- 124,2,0,106,4,0,131,0,0,83,41,2,78,122,25,110,
- 111,32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,
- 101,32,110,97,109,101,100,32,41,5,114,11,1,0,0,114,
- 14,1,0,0,114,154,0,0,0,114,175,0,0,0,114,7,
- 1,0,0,41,3,114,67,0,0,0,114,178,0,0,0,114,
- 179,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,218,18,95,98,117,105,108,116,105,110,95,102,114,
- 111,109,95,110,97,109,101,53,9,0,0,115,10,0,0,0,
- 0,1,15,1,12,1,19,1,12,1,114,128,1,0,0,99,
- 2,0,0,0,0,0,0,0,19,0,0,0,12,0,0,0,
- 67,0,0,0,115,232,2,0,0,124,1,0,97,0,0,124,
- 0,0,97,1,0,116,1,0,106,2,0,106,3,0,114,33,
- 0,116,4,0,97,5,0,110,6,0,116,6,0,97,5,0,
- 116,7,0,116,1,0,131,1,0,125,2,0,120,138,0,116,
- 1,0,106,8,0,106,9,0,131,0,0,68,93,121,0,92,
- 2,0,125,3,0,125,4,0,116,10,0,124,4,0,124,2,
- 0,131,2,0,114,67,0,124,3,0,116,1,0,106,11,0,
- 107,6,0,114,118,0,116,12,0,125,5,0,110,27,0,116,
- 0,0,106,13,0,124,3,0,131,1,0,114,67,0,116,14,
- 0,125,5,0,110,3,0,113,67,0,116,15,0,124,4,0,
- 124,5,0,131,2,0,125,6,0,116,16,0,124,6,0,131,
- 1,0,125,7,0,124,7,0,106,17,0,124,4,0,131,1,
- 0,1,113,67,0,113,67,0,87,116,1,0,106,8,0,116,
- 18,0,25,125,8,0,120,73,0,100,26,0,68,93,65,0,
- 125,9,0,124,9,0,116,1,0,106,8,0,107,7,0,114,
- 248,0,116,19,0,124,9,0,131,1,0,125,10,0,110,13,
- 0,116,1,0,106,8,0,124,9,0,25,125,10,0,116,20,
- 0,124,8,0,124,9,0,124,10,0,131,3,0,1,113,212,
- 0,87,100,5,0,100,6,0,103,1,0,102,2,0,100,7,
- 0,100,8,0,100,6,0,103,2,0,102,2,0,102,2,0,
- 125,11,0,120,146,0,124,11,0,68,93,126,0,92,2,0,
- 125,12,0,125,13,0,116,21,0,100,9,0,100,10,0,132,
- 0,0,124,13,0,68,131,1,0,131,1,0,115,108,1,116,
- 22,0,130,1,0,124,13,0,100,11,0,25,125,14,0,124,
- 12,0,116,1,0,106,8,0,107,6,0,114,150,1,116,1,
- 0,106,8,0,124,12,0,25,125,15,0,80,113,65,1,121,
- 17,0,116,19,0,124,12,0,131,1,0,125,15,0,80,87,
- 113,65,1,4,116,23,0,107,10,0,114,190,1,1,1,1,
- 119,65,1,89,113,65,1,88,113,65,1,87,116,23,0,100,
- 12,0,131,1,0,130,1,0,116,20,0,124,8,0,100,13,
- 0,124,15,0,131,3,0,1,116,20,0,124,8,0,100,14,
- 0,124,14,0,131,3,0,1,116,20,0,124,8,0,100,15,
- 0,100,16,0,106,24,0,124,13,0,131,1,0,131,3,0,
- 1,121,16,0,116,19,0,100,17,0,131,1,0,125,16,0,
- 87,110,24,0,4,116,23,0,107,10,0,114,50,2,1,1,
- 1,100,18,0,125,16,0,89,110,1,0,88,116,20,0,124,
- 8,0,100,17,0,124,16,0,131,3,0,1,116,19,0,100,
- 19,0,131,1,0,125,17,0,116,20,0,124,8,0,100,19,
- 0,124,17,0,131,3,0,1,124,12,0,100,7,0,107,2,
- 0,114,138,2,116,19,0,100,20,0,131,1,0,125,18,0,
- 116,20,0,124,8,0,100,21,0,124,18,0,131,3,0,1,
- 110,0,0,116,20,0,124,8,0,100,22,0,116,25,0,131,
- 0,0,131,3,0,1,116,26,0,106,27,0,116,0,0,106,
- 28,0,131,0,0,131,1,0,1,124,12,0,100,7,0,107,
- 2,0,114,228,2,116,29,0,106,30,0,100,23,0,131,1,
- 0,1,100,24,0,116,26,0,107,6,0,114,228,2,100,25,
- 0,116,31,0,95,32,0,113,228,2,110,0,0,100,18,0,
- 83,41,27,122,250,83,101,116,117,112,32,105,109,112,111,114,
- 116,108,105,98,32,98,121,32,105,109,112,111,114,116,105,110,
- 103,32,110,101,101,100,101,100,32,98,117,105,108,116,45,105,
- 110,32,109,111,100,117,108,101,115,32,97,110,100,32,105,110,
- 106,101,99,116,105,110,103,32,116,104,101,109,10,32,32,32,
- 32,105,110,116,111,32,116,104,101,32,103,108,111,98,97,108,
- 32,110,97,109,101,115,112,97,99,101,46,10,10,32,32,32,
- 32,65,115,32,115,121,115,32,105,115,32,110,101,101,100,101,
- 100,32,102,111,114,32,115,121,115,46,109,111,100,117,108,101,
- 115,32,97,99,99,101,115,115,32,97,110,100,32,95,105,109,
- 112,32,105,115,32,110,101,101,100,101,100,32,116,111,32,108,
- 111,97,100,32,98,117,105,108,116,45,105,110,10,32,32,32,
- 32,109,111,100,117,108,101,115,44,32,116,104,111,115,101,32,
- 116,119,111,32,109,111,100,117,108,101,115,32,109,117,115,116,
- 32,98,101,32,101,120,112,108,105,99,105,116,108,121,32,112,
- 97,115,115,101,100,32,105,110,46,10,10,32,32,32,32,114,
- 49,0,0,0,114,167,0,0,0,218,8,98,117,105,108,116,
- 105,110,115,114,192,0,0,0,90,5,112,111,115,105,120,250,
- 1,47,218,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,33,
- 0,0,0,124,0,0,93,23,0,125,1,0,116,0,0,124,
- 1,0,131,1,0,100,0,0,107,2,0,86,1,113,3,0,
- 100,1,0,83,41,2,114,29,0,0,0,78,41,1,114,31,
- 0,0,0,41,2,114,22,0,0,0,114,129,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,77,
- 0,0,0,105,9,0,0,115,2,0,0,0,6,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,84,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,25,0,0,0,114,21,0,0,0,114,30,0,
- 0,0,114,85,0,0,0,78,114,111,0,0,0,90,6,119,
- 105,110,114,101,103,114,24,1,0,0,114,6,0,0,0,122,
- 4,46,112,121,119,122,6,95,100,46,112,121,100,84,41,4,
- 122,3,95,105,111,122,9,95,119,97,114,110,105,110,103,115,
- 122,8,98,117,105,108,116,105,110,115,122,7,109,97,114,115,
- 104,97,108,41,33,114,106,0,0,0,114,7,0,0,0,114,
- 117,0,0,0,114,118,0,0,0,114,120,0,0,0,114,233,
- 0,0,0,114,119,0,0,0,114,66,0,0,0,114,73,0,
- 0,0,218,5,105,116,101,109,115,114,193,0,0,0,114,158,
- 0,0,0,114,11,1,0,0,114,163,0,0,0,114,20,1,
- 0,0,114,248,0,0,0,114,175,0,0,0,114,255,0,0,
- 0,114,57,0,0,0,114,128,1,0,0,114,61,0,0,0,
- 218,3,97,108,108,114,100,0,0,0,114,154,0,0,0,114,
- 26,0,0,0,114,11,0,0,0,114,60,1,0,0,114,198,
- 0,0,0,114,125,1,0,0,114,135,0,0,0,114,224,0,
- 0,0,114,23,1,0,0,114,27,1,0,0,41,19,218,10,
- 115,121,115,95,109,111,100,117,108,101,218,11,95,105,109,112,
- 95,109,111,100,117,108,101,90,11,109,111,100,117,108,101,95,
- 116,121,112,101,114,67,0,0,0,114,180,0,0,0,114,170,
- 0,0,0,114,178,0,0,0,114,179,0,0,0,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,21,0,0,0,114,25,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,5,0,
- 0,0,218,6,95,115,101,116,117,112,61,9,0,0,115,108,
- 0,0,0,0,9,6,1,6,2,12,1,9,2,6,3,12,
- 1,28,1,15,1,15,1,9,1,15,1,9,2,3,1,15,
- 1,12,1,20,3,13,1,13,1,15,1,15,2,13,1,20,
- 3,33,1,19,2,31,1,10,1,15,1,13,1,4,2,3,
- 1,12,1,5,1,13,1,12,2,12,1,16,1,16,1,25,
- 3,3,1,16,1,13,2,11,1,16,3,12,1,16,3,12,
- 1,12,1,19,3,19,1,19,1,12,1,13,1,12,1,114,
- 137,1,0,0,99,2,0,0,0,0,0,0,0,3,0,0,
- 0,3,0,0,0,67,0,0,0,115,136,0,0,0,116,0,
- 0,124,0,0,124,1,0,131,2,0,1,116,1,0,131,0,
- 0,125,2,0,116,2,0,106,3,0,106,4,0,116,5,0,
- 106,6,0,124,2,0,140,0,0,103,1,0,131,1,0,1,
- 116,2,0,106,7,0,106,8,0,116,9,0,131,1,0,1,
- 116,2,0,106,7,0,106,8,0,116,10,0,131,1,0,1,
- 116,11,0,106,12,0,100,1,0,107,2,0,114,116,0,116,
- 2,0,106,7,0,106,8,0,116,13,0,131,1,0,1,110,
- 0,0,116,2,0,106,7,0,106,8,0,116,14,0,131,1,
- 0,1,100,2,0,83,41,3,122,50,73,110,115,116,97,108,
- 108,32,105,109,112,111,114,116,108,105,98,32,97,115,32,116,
- 104,101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,
- 110,32,111,102,32,105,109,112,111,114,116,46,114,131,1,0,
- 0,78,41,15,114,137,1,0,0,114,241,0,0,0,114,7,
- 0,0,0,114,79,1,0,0,114,198,0,0,0,114,87,1,
- 0,0,114,101,1,0,0,114,107,1,0,0,114,224,0,0,
- 0,114,11,1,0,0,114,20,1,0,0,114,3,0,0,0,
- 114,57,0,0,0,114,23,1,0,0,114,74,1,0,0,41,
- 3,114,135,1,0,0,114,136,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,5,0,0,0,218,8,95,
- 105,110,115,116,97,108,108,148,9,0,0,115,16,0,0,0,
- 0,2,13,1,9,1,28,1,16,1,16,1,15,1,19,1,
- 114,138,1,0,0,41,3,122,3,119,105,110,114,1,0,0,
- 0,114,2,0,0,0,41,92,114,59,0,0,0,114,10,0,
- 0,0,114,11,0,0,0,114,17,0,0,0,114,19,0,0,
- 0,114,28,0,0,0,114,38,0,0,0,114,39,0,0,0,
- 114,43,0,0,0,114,44,0,0,0,114,46,0,0,0,114,
- 55,0,0,0,114,65,0,0,0,114,68,0,0,0,114,66,
- 0,0,0,218,8,95,95,99,111,100,101,95,95,114,194,0,
- 0,0,114,69,0,0,0,114,109,0,0,0,114,92,0,0,
- 0,114,99,0,0,0,114,82,0,0,0,114,83,0,0,0,
- 114,102,0,0,0,114,103,0,0,0,114,105,0,0,0,114,
- 112,0,0,0,114,114,0,0,0,114,15,0,0,0,114,186,
- 0,0,0,114,14,0,0,0,114,18,0,0,0,90,17,95,
- 82,65,87,95,77,65,71,73,67,95,78,85,77,66,69,82,
- 114,124,0,0,0,114,135,0,0,0,114,119,0,0,0,114,
- 120,0,0,0,114,132,0,0,0,114,136,0,0,0,114,143,
- 0,0,0,114,145,0,0,0,114,153,0,0,0,114,157,0,
- 0,0,114,162,0,0,0,114,165,0,0,0,114,173,0,0,
- 0,114,181,0,0,0,114,191,0,0,0,114,196,0,0,0,
- 114,199,0,0,0,114,204,0,0,0,114,212,0,0,0,114,
- 213,0,0,0,114,217,0,0,0,114,174,0,0,0,218,6,
- 111,98,106,101,99,116,114,242,0,0,0,114,240,0,0,0,
- 114,248,0,0,0,114,175,0,0,0,114,10,1,0,0,114,
- 11,1,0,0,114,20,1,0,0,114,23,1,0,0,114,33,
- 1,0,0,114,34,1,0,0,114,49,1,0,0,114,9,1,
- 0,0,114,8,1,0,0,114,60,1,0,0,114,57,1,0,
- 0,114,61,1,0,0,114,252,0,0,0,114,74,1,0,0,
- 114,87,1,0,0,114,102,1,0,0,114,105,1,0,0,114,
- 106,1,0,0,114,108,1,0,0,114,111,1,0,0,114,120,
- 1,0,0,114,112,1,0,0,114,114,1,0,0,114,115,1,
- 0,0,114,116,1,0,0,114,122,1,0,0,114,124,1,0,
- 0,114,241,0,0,0,114,127,1,0,0,114,128,1,0,0,
- 114,137,1,0,0,114,138,1,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8,
- 60,109,111,100,117,108,101,62,8,0,0,0,115,170,0,0,
- 0,6,17,6,3,12,12,12,5,12,5,12,6,12,12,12,
- 10,12,9,12,5,12,7,15,22,12,8,12,4,15,4,19,
- 20,6,2,6,3,22,4,19,68,19,21,19,19,12,19,12,
- 20,12,114,22,1,18,2,6,2,9,2,9,1,9,2,15,
- 27,12,23,12,19,12,12,18,8,12,18,12,11,12,11,12,
- 17,12,16,21,55,21,12,18,10,12,14,12,36,19,27,19,
- 106,24,22,9,3,12,1,15,63,18,45,19,230,15,25,19,
- 70,19,71,19,63,19,24,22,110,19,41,25,43,25,16,6,
- 3,19,57,19,57,19,38,19,129,19,146,19,13,12,9,12,
- 9,15,40,12,17,6,1,10,2,12,27,12,6,18,24,12,
- 32,12,15,12,11,24,35,12,8,12,87,
+ 218,18,95,98,117,105,108,116,105,110,95,102,114,111,109,95,
+ 110,97,109,101,21,9,0,0,115,8,0,0,0,0,1,15,
+ 1,12,1,16,1,114,127,1,0,0,99,2,0,0,0,0,
+ 0,0,0,18,0,0,0,12,0,0,0,67,0,0,0,115,
+ 208,2,0,0,124,1,0,97,0,0,124,0,0,97,1,0,
+ 116,1,0,106,2,0,106,3,0,114,33,0,116,4,0,97,
+ 5,0,110,6,0,116,6,0,97,5,0,116,7,0,116,1,
+ 0,131,1,0,125,2,0,120,123,0,116,1,0,106,8,0,
+ 106,9,0,131,0,0,68,93,106,0,92,2,0,125,3,0,
+ 125,4,0,116,10,0,124,4,0,124,2,0,131,2,0,114,
+ 67,0,124,3,0,116,1,0,106,11,0,107,6,0,114,118,
+ 0,116,12,0,125,5,0,110,27,0,116,0,0,106,13,0,
+ 124,3,0,131,1,0,114,67,0,116,14,0,125,5,0,110,
+ 3,0,113,67,0,116,15,0,124,4,0,124,5,0,131,2,
+ 0,125,6,0,116,16,0,124,6,0,124,4,0,131,2,0,
+ 1,113,67,0,87,116,1,0,106,8,0,116,17,0,25,125,
+ 7,0,120,73,0,100,26,0,68,93,65,0,125,8,0,124,
+ 8,0,116,1,0,106,8,0,107,7,0,114,233,0,116,18,
+ 0,124,8,0,131,1,0,125,9,0,110,13,0,116,1,0,
+ 106,8,0,124,8,0,25,125,9,0,116,19,0,124,7,0,
+ 124,8,0,124,9,0,131,3,0,1,113,197,0,87,100,5,
+ 0,100,6,0,103,1,0,102,2,0,100,7,0,100,8,0,
+ 100,6,0,103,2,0,102,2,0,102,2,0,125,10,0,120,
+ 146,0,124,10,0,68,93,126,0,92,2,0,125,11,0,125,
+ 12,0,116,20,0,100,9,0,100,10,0,132,0,0,124,12,
+ 0,68,131,1,0,131,1,0,115,93,1,116,21,0,130,1,
+ 0,124,12,0,100,11,0,25,125,13,0,124,11,0,116,1,
+ 0,106,8,0,107,6,0,114,135,1,116,1,0,106,8,0,
+ 124,11,0,25,125,14,0,80,113,50,1,121,17,0,116,18,
+ 0,124,11,0,131,1,0,125,14,0,80,87,113,50,1,4,
+ 116,22,0,107,10,0,114,175,1,1,1,1,119,50,1,89,
+ 113,50,1,88,113,50,1,87,116,22,0,100,12,0,131,1,
+ 0,130,1,0,116,19,0,124,7,0,100,13,0,124,14,0,
+ 131,3,0,1,116,19,0,124,7,0,100,14,0,124,13,0,
+ 131,3,0,1,116,19,0,124,7,0,100,15,0,100,16,0,
+ 106,23,0,124,12,0,131,1,0,131,3,0,1,121,16,0,
+ 116,18,0,100,17,0,131,1,0,125,15,0,87,110,24,0,
+ 4,116,22,0,107,10,0,114,35,2,1,1,1,100,18,0,
+ 125,15,0,89,110,1,0,88,116,19,0,124,7,0,100,17,
+ 0,124,15,0,131,3,0,1,116,18,0,100,19,0,131,1,
+ 0,125,16,0,116,19,0,124,7,0,100,19,0,124,16,0,
+ 131,3,0,1,124,11,0,100,7,0,107,2,0,114,120,2,
+ 116,18,0,100,20,0,131,1,0,125,17,0,116,19,0,124,
+ 7,0,100,21,0,124,17,0,131,3,0,1,116,19,0,124,
+ 7,0,100,22,0,116,24,0,131,0,0,131,3,0,1,116,
+ 25,0,106,26,0,116,0,0,106,27,0,131,0,0,131,1,
+ 0,1,124,11,0,100,7,0,107,2,0,114,204,2,116,28,
+ 0,106,29,0,100,23,0,131,1,0,1,100,24,0,116,25,
+ 0,107,6,0,114,204,2,100,25,0,116,30,0,95,31,0,
+ 100,18,0,83,41,27,122,250,83,101,116,117,112,32,105,109,
+ 112,111,114,116,108,105,98,32,98,121,32,105,109,112,111,114,
+ 116,105,110,103,32,110,101,101,100,101,100,32,98,117,105,108,
+ 116,45,105,110,32,109,111,100,117,108,101,115,32,97,110,100,
+ 32,105,110,106,101,99,116,105,110,103,32,116,104,101,109,10,
+ 32,32,32,32,105,110,116,111,32,116,104,101,32,103,108,111,
+ 98,97,108,32,110,97,109,101,115,112,97,99,101,46,10,10,
+ 32,32,32,32,65,115,32,115,121,115,32,105,115,32,110,101,
+ 101,100,101,100,32,102,111,114,32,115,121,115,46,109,111,100,
+ 117,108,101,115,32,97,99,99,101,115,115,32,97,110,100,32,
+ 95,105,109,112,32,105,115,32,110,101,101,100,101,100,32,116,
+ 111,32,108,111,97,100,32,98,117,105,108,116,45,105,110,10,
+ 32,32,32,32,109,111,100,117,108,101,115,44,32,116,104,111,
+ 115,101,32,116,119,111,32,109,111,100,117,108,101,115,32,109,
+ 117,115,116,32,98,101,32,101,120,112,108,105,99,105,116,108,
+ 121,32,112,97,115,115,101,100,32,105,110,46,10,10,32,32,
+ 32,32,114,49,0,0,0,114,167,0,0,0,218,8,98,117,
+ 105,108,116,105,110,115,114,190,0,0,0,90,5,112,111,115,
+ 105,120,250,1,47,218,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,33,0,0,0,124,0,0,93,23,0,125,1,0,116,
+ 0,0,124,1,0,131,1,0,100,0,0,107,2,0,86,1,
+ 113,3,0,100,1,0,83,41,2,114,29,0,0,0,78,41,
+ 1,114,31,0,0,0,41,2,114,22,0,0,0,114,129,0,
+ 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
+ 0,114,77,0,0,0,71,9,0,0,115,2,0,0,0,6,
+ 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,84,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,25,0,0,0,114,21,0,0,0,
+ 114,30,0,0,0,114,85,0,0,0,78,114,111,0,0,0,
+ 90,6,119,105,110,114,101,103,114,23,1,0,0,114,6,0,
+ 0,0,122,4,46,112,121,119,122,6,95,100,46,112,121,100,
+ 84,41,4,122,3,95,105,111,122,9,95,119,97,114,110,105,
+ 110,103,115,122,8,98,117,105,108,116,105,110,115,122,7,109,
+ 97,114,115,104,97,108,41,32,114,106,0,0,0,114,7,0,
+ 0,0,114,117,0,0,0,114,118,0,0,0,114,120,0,0,
+ 0,114,232,0,0,0,114,119,0,0,0,114,66,0,0,0,
+ 114,73,0,0,0,218,5,105,116,101,109,115,114,191,0,0,
+ 0,114,158,0,0,0,114,9,1,0,0,114,163,0,0,0,
+ 114,18,1,0,0,114,247,0,0,0,114,253,0,0,0,114,
+ 57,0,0,0,114,127,1,0,0,114,61,0,0,0,218,3,
+ 97,108,108,114,100,0,0,0,114,154,0,0,0,114,26,0,
+ 0,0,114,11,0,0,0,114,59,1,0,0,114,196,0,0,
+ 0,114,124,1,0,0,114,135,0,0,0,114,223,0,0,0,
+ 114,22,1,0,0,114,26,1,0,0,41,18,218,10,115,121,
+ 115,95,109,111,100,117,108,101,218,11,95,105,109,112,95,109,
+ 111,100,117,108,101,90,11,109,111,100,117,108,101,95,116,121,
+ 112,101,114,67,0,0,0,114,178,0,0,0,114,170,0,0,
+ 0,114,177,0,0,0,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,21,0,0,0,114,25,
+ 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,5,0,0,0,218,6,95,115,101,
+ 116,117,112,28,9,0,0,115,106,0,0,0,0,9,6,1,
+ 6,2,12,1,9,2,6,3,12,1,28,1,15,1,15,1,
+ 9,1,15,1,9,2,3,1,15,1,17,3,13,1,13,1,
+ 15,1,15,2,13,1,20,3,33,1,19,2,31,1,10,1,
+ 15,1,13,1,4,2,3,1,12,1,5,1,13,1,12,2,
+ 12,1,16,1,16,1,25,3,3,1,16,1,13,2,11,1,
+ 16,3,12,1,16,3,12,1,12,1,16,3,19,1,19,1,
+ 12,1,13,1,12,1,114,136,1,0,0,99,2,0,0,0,
+ 0,0,0,0,3,0,0,0,3,0,0,0,67,0,0,0,
+ 115,133,0,0,0,116,0,0,124,0,0,124,1,0,131,2,
+ 0,1,116,1,0,131,0,0,125,2,0,116,2,0,106,3,
+ 0,106,4,0,116,5,0,106,6,0,124,2,0,140,0,0,
+ 103,1,0,131,1,0,1,116,2,0,106,7,0,106,8,0,
+ 116,9,0,131,1,0,1,116,2,0,106,7,0,106,8,0,
+ 116,10,0,131,1,0,1,116,11,0,106,12,0,100,1,0,
+ 107,2,0,114,113,0,116,2,0,106,7,0,106,8,0,116,
+ 13,0,131,1,0,1,116,2,0,106,7,0,106,8,0,116,
+ 14,0,131,1,0,1,100,2,0,83,41,3,122,50,73,110,
+ 115,116,97,108,108,32,105,109,112,111,114,116,108,105,98,32,
+ 97,115,32,116,104,101,32,105,109,112,108,101,109,101,110,116,
+ 97,116,105,111,110,32,111,102,32,105,109,112,111,114,116,46,
+ 114,130,1,0,0,78,41,15,114,136,1,0,0,114,240,0,
+ 0,0,114,7,0,0,0,114,78,1,0,0,114,196,0,0,
+ 0,114,87,1,0,0,114,100,1,0,0,114,106,1,0,0,
+ 114,223,0,0,0,114,9,1,0,0,114,18,1,0,0,114,
+ 3,0,0,0,114,57,0,0,0,114,22,1,0,0,114,73,
+ 1,0,0,41,3,114,134,1,0,0,114,135,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,5,0,0,
+ 0,218,8,95,105,110,115,116,97,108,108,114,9,0,0,115,
+ 16,0,0,0,0,2,13,1,9,1,28,1,16,1,16,1,
+ 15,1,16,1,114,137,1,0,0,41,3,122,3,119,105,110,
+ 114,1,0,0,0,114,2,0,0,0,41,98,114,59,0,0,
+ 0,114,10,0,0,0,114,11,0,0,0,114,17,0,0,0,
+ 114,19,0,0,0,114,28,0,0,0,114,38,0,0,0,114,
+ 39,0,0,0,114,43,0,0,0,114,44,0,0,0,114,46,
+ 0,0,0,114,55,0,0,0,114,65,0,0,0,114,68,0,
+ 0,0,114,66,0,0,0,218,8,95,95,99,111,100,101,95,
+ 95,114,192,0,0,0,114,69,0,0,0,114,109,0,0,0,
+ 114,92,0,0,0,114,99,0,0,0,114,82,0,0,0,114,
+ 83,0,0,0,114,102,0,0,0,114,103,0,0,0,114,105,
+ 0,0,0,114,112,0,0,0,114,114,0,0,0,114,15,0,
+ 0,0,114,184,0,0,0,114,14,0,0,0,114,18,0,0,
+ 0,90,17,95,82,65,87,95,77,65,71,73,67,95,78,85,
+ 77,66,69,82,114,124,0,0,0,114,135,0,0,0,114,119,
+ 0,0,0,114,120,0,0,0,114,132,0,0,0,114,136,0,
+ 0,0,114,143,0,0,0,114,145,0,0,0,114,153,0,0,
+ 0,114,157,0,0,0,114,162,0,0,0,114,165,0,0,0,
+ 114,173,0,0,0,114,179,0,0,0,114,189,0,0,0,114,
+ 194,0,0,0,114,197,0,0,0,114,202,0,0,0,114,211,
+ 0,0,0,114,212,0,0,0,114,216,0,0,0,114,174,0,
+ 0,0,218,6,111,98,106,101,99,116,114,241,0,0,0,114,
+ 239,0,0,0,114,247,0,0,0,114,253,0,0,0,114,1,
+ 1,0,0,114,209,0,0,0,114,175,0,0,0,114,4,1,
+ 0,0,114,5,1,0,0,114,176,0,0,0,114,8,1,0,
+ 0,114,9,1,0,0,114,18,1,0,0,114,22,1,0,0,
+ 114,32,1,0,0,114,33,1,0,0,114,48,1,0,0,114,
+ 7,1,0,0,114,6,1,0,0,114,59,1,0,0,114,56,
+ 1,0,0,114,60,1,0,0,114,250,0,0,0,114,73,1,
+ 0,0,114,87,1,0,0,114,101,1,0,0,114,104,1,0,
+ 0,114,105,1,0,0,114,107,1,0,0,114,110,1,0,0,
+ 114,119,1,0,0,114,111,1,0,0,114,113,1,0,0,114,
+ 114,1,0,0,114,115,1,0,0,114,121,1,0,0,114,123,
+ 1,0,0,114,240,0,0,0,114,126,1,0,0,114,127,1,
+ 0,0,114,136,1,0,0,114,137,1,0,0,114,4,0,0,
+ 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
+ 218,8,60,109,111,100,117,108,101,62,8,0,0,0,115,182,
+ 0,0,0,6,17,6,3,12,12,12,5,12,5,12,6,12,
+ 12,12,10,12,9,12,5,12,7,15,22,12,8,12,4,15,
+ 4,19,20,6,2,6,3,22,4,19,68,19,21,19,19,12,
+ 19,12,20,12,115,22,1,18,2,6,2,9,2,9,1,9,
+ 2,15,27,12,23,12,19,12,12,18,8,12,18,12,11,12,
+ 11,12,18,12,15,21,55,21,12,18,10,12,14,12,36,19,
+ 27,19,106,24,22,9,3,12,1,15,63,18,45,18,56,12,
+ 18,12,17,12,25,12,29,12,23,12,14,15,25,19,70,19,
+ 75,19,63,19,27,22,110,19,41,25,43,25,16,6,3,19,
+ 57,19,57,19,41,19,134,19,146,19,13,12,9,12,9,15,
+ 40,12,17,6,1,10,2,12,27,12,6,18,24,12,32,12,
+ 15,12,11,24,35,12,7,12,86,
};
diff --git a/Python/marshal.c b/Python/marshal.c
index 6f0ee5e..c1ce2fe 100644
--- a/Python/marshal.c
+++ b/Python/marshal.c
@@ -12,8 +12,7 @@
#include "longintrepr.h"
#include "code.h"
#include "marshal.h"
-
-#define ABS(x) ((x) < 0 ? -(x) : (x))
+#include "../Modules/hashtable.h"
/* High water mark to determine when the marshalled object is dangerously deep
* and risks coring the interpreter. When the object stack gets this deep,
@@ -21,7 +20,7 @@
* On Windows debug builds, reduce this value.
*/
#if defined(MS_WINDOWS) && defined(_DEBUG)
-#define MAX_MARSHAL_STACK_DEPTH 1500
+#define MAX_MARSHAL_STACK_DEPTH 1000
#else
#define MAX_MARSHAL_STACK_DEPTH 2000
#endif
@@ -66,54 +65,83 @@ typedef struct {
FILE *fp;
int error; /* see WFERR_* values */
int depth;
- /* If fp == NULL, the following are valid: */
- PyObject *readable; /* Stream-like object being read from */
PyObject *str;
- PyObject *current_filename;
char *ptr;
char *end;
char *buf;
- Py_ssize_t buf_size;
- PyObject *refs; /* dict on marshal, list on unmarshal */
+ _Py_hashtable_t *hashtable;
int version;
} WFILE;
-#define w_byte(c, p) if (((p)->fp)) putc((c), (p)->fp); \
- else if ((p)->ptr != (p)->end) *(p)->ptr++ = (c); \
- else w_more((c), p)
+#define w_byte(c, p) do { \
+ if ((p)->ptr != (p)->end || w_reserve((p), 1)) \
+ *(p)->ptr++ = (c); \
+ } while(0)
static void
-w_more(char c, WFILE *p)
+w_flush(WFILE *p)
+{
+ assert(p->fp != NULL);
+ fwrite(p->buf, 1, p->ptr - p->buf, p->fp);
+ p->ptr = p->buf;
+}
+
+static int
+w_reserve(WFILE *p, Py_ssize_t needed)
{
- Py_ssize_t size, newsize;
- if (p->str == NULL)
- return; /* An error already occurred */
+ Py_ssize_t pos, size, delta;
+ if (p->ptr == NULL)
+ return 0; /* An error already occurred */
+ if (p->fp != NULL) {
+ w_flush(p);
+ return needed <= p->end - p->ptr;
+ }
+ assert(p->str != NULL);
+ pos = p->ptr - p->buf;
size = PyBytes_Size(p->str);
- newsize = size + size + 1024;
- if (newsize > 32*1024*1024) {
- newsize = size + (size >> 3); /* 12.5% overallocation */
+ if (size > 16*1024*1024)
+ delta = (size >> 3); /* 12.5% overallocation */
+ else
+ delta = size + 1024;
+ delta = Py_MAX(delta, needed);
+ if (delta > PY_SSIZE_T_MAX - size) {
+ p->error = WFERR_NOMEMORY;
+ return 0;
}
- if (_PyBytes_Resize(&p->str, newsize) != 0) {
- p->ptr = p->end = NULL;
+ size += delta;
+ if (_PyBytes_Resize(&p->str, size) != 0) {
+ p->ptr = p->buf = p->end = NULL;
+ return 0;
}
else {
- p->ptr = PyBytes_AS_STRING((PyBytesObject *)p->str) + size;
- p->end =
- PyBytes_AS_STRING((PyBytesObject *)p->str) + newsize;
- *p->ptr++ = c;
+ p->buf = PyBytes_AS_STRING(p->str);
+ p->ptr = p->buf + pos;
+ p->end = p->buf + size;
+ return 1;
}
}
static void
w_string(const char *s, Py_ssize_t n, WFILE *p)
{
+ Py_ssize_t m;
+ if (!n || p->ptr == NULL)
+ return;
+ m = p->end - p->ptr;
if (p->fp != NULL) {
- fwrite(s, 1, n, p->fp);
+ if (n <= m) {
+ Py_MEMCPY(p->ptr, s, n);
+ p->ptr += n;
+ }
+ else {
+ w_flush(p);
+ fwrite(s, 1, n, p->fp);
+ }
}
else {
- while (--n >= 0) {
- w_byte(*s, p);
- s++;
+ if (n <= m || w_reserve(p, n - m)) {
+ Py_MEMCPY(p->ptr, s, n);
+ p->ptr += n;
}
}
}
@@ -192,7 +220,7 @@ w_PyLong(const PyLongObject *ob, char flag, WFILE *p)
}
/* set l to number of base PyLong_MARSHAL_BASE digits */
- n = ABS(Py_SIZE(ob));
+ n = Py_ABS(Py_SIZE(ob));
l = (n-1) * PyLong_MARSHAL_RATIO;
d = ob->ob_digit[n-1];
assert(d != 0); /* a PyLong is always normalized */
@@ -225,46 +253,38 @@ w_PyLong(const PyLongObject *ob, char flag, WFILE *p)
static int
w_ref(PyObject *v, char *flag, WFILE *p)
{
- PyObject *id;
- PyObject *idx;
+ _Py_hashtable_entry_t *entry;
+ int w;
- if (p->version < 3 || p->refs == NULL)
+ if (p->version < 3 || p->hashtable == NULL)
return 0; /* not writing object references */
/* if it has only one reference, it definitely isn't shared */
if (Py_REFCNT(v) == 1)
return 0;
- id = PyLong_FromVoidPtr((void*)v);
- if (id == NULL)
- goto err;
- idx = PyDict_GetItem(p->refs, id);
- if (idx != NULL) {
+ entry = _Py_hashtable_get_entry(p->hashtable, v);
+ if (entry != NULL) {
/* write the reference index to the stream */
- long w = PyLong_AsLong(idx);
- Py_DECREF(id);
- if (w == -1 && PyErr_Occurred()) {
- goto err;
- }
+ _Py_HASHTABLE_ENTRY_READ_DATA(p->hashtable, &w, sizeof(w), entry);
/* we don't store "long" indices in the dict */
assert(0 <= w && w <= 0x7fffffff);
w_byte(TYPE_REF, p);
w_long(w, p);
return 1;
} else {
- int ok;
- Py_ssize_t s = PyDict_Size(p->refs);
+ size_t s = p->hashtable->entries;
/* we don't support long indices */
if (s >= 0x7fffffff) {
PyErr_SetString(PyExc_ValueError, "too many objects");
goto err;
}
- idx = PyLong_FromSsize_t(s);
- ok = idx && PyDict_SetItem(p->refs, id, idx) == 0;
- Py_DECREF(id);
- Py_XDECREF(idx);
- if (!ok)
+ w = s;
+ Py_INCREF(v);
+ if (_Py_HASHTABLE_SET(p->hashtable, v, w) < 0) {
+ Py_DECREF(v);
goto err;
+ }
*flag |= FLAG_REF;
return 0;
}
@@ -547,37 +567,81 @@ w_complex_object(PyObject *v, char flag, WFILE *p)
}
}
+static int
+w_init_refs(WFILE *wf, int version)
+{
+ if (version >= 3) {
+ wf->hashtable = _Py_hashtable_new(sizeof(int), _Py_hashtable_hash_ptr,
+ _Py_hashtable_compare_direct);
+ if (wf->hashtable == NULL) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ }
+ return 0;
+}
+
+static int
+w_decref_entry(_Py_hashtable_entry_t *entry, void *Py_UNUSED(data))
+{
+ Py_XDECREF(entry->key);
+ return 0;
+}
+
+static void
+w_clear_refs(WFILE *wf)
+{
+ if (wf->hashtable != NULL) {
+ _Py_hashtable_foreach(wf->hashtable, w_decref_entry, NULL);
+ _Py_hashtable_destroy(wf->hashtable);
+ }
+}
+
/* version currently has no effect for writing ints. */
void
PyMarshal_WriteLongToFile(long x, FILE *fp, int version)
{
+ char buf[4];
WFILE wf;
+ memset(&wf, 0, sizeof(wf));
wf.fp = fp;
+ wf.ptr = wf.buf = buf;
+ wf.end = wf.ptr + sizeof(buf);
wf.error = WFERR_OK;
- wf.depth = 0;
- wf.refs = NULL;
wf.version = version;
w_long(x, &wf);
+ w_flush(&wf);
}
void
PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version)
{
+ char buf[BUFSIZ];
WFILE wf;
+ memset(&wf, 0, sizeof(wf));
wf.fp = fp;
+ wf.ptr = wf.buf = buf;
+ wf.end = wf.ptr + sizeof(buf);
wf.error = WFERR_OK;
- wf.depth = 0;
- if (version >= 3) {
- if ((wf.refs = PyDict_New()) == NULL)
- return; /* caller mush check PyErr_Occurred() */
- } else
- wf.refs = NULL;
wf.version = version;
+ if (w_init_refs(&wf, version))
+ return; /* caller mush check PyErr_Occurred() */
w_object(x, &wf);
- Py_XDECREF(wf.refs);
+ w_clear_refs(&wf);
+ w_flush(&wf);
}
-typedef WFILE RFILE; /* Same struct with different invariants */
+typedef struct {
+ FILE *fp;
+ int depth;
+ PyObject *readable; /* Stream-like object being read from */
+ PyObject *current_filename;
+ char *ptr;
+ char *end;
+ char *buf;
+ Py_ssize_t buf_size;
+ PyObject *refs; /* a list */
+} RFILE;
static char *
r_string(Py_ssize_t n, RFILE *p)
@@ -727,8 +791,8 @@ r_PyLong(RFILE *p)
return NULL;
}
- size = 1 + (ABS(n) - 1) / PyLong_MARSHAL_RATIO;
- shorts_in_top_digit = 1 + (ABS(n) - 1) % PyLong_MARSHAL_RATIO;
+ size = 1 + (Py_ABS(n) - 1) / PyLong_MARSHAL_RATIO;
+ shorts_in_top_digit = 1 + (Py_ABS(n) - 1) % PyLong_MARSHAL_RATIO;
ob = _PyLong_New(size);
if (ob == NULL)
return NULL;
@@ -1511,25 +1575,20 @@ PyMarshal_WriteObjectToString(PyObject *x, int version)
{
WFILE wf;
- wf.fp = NULL;
- wf.readable = NULL;
+ memset(&wf, 0, sizeof(wf));
wf.str = PyBytes_FromStringAndSize((char *)NULL, 50);
if (wf.str == NULL)
return NULL;
- wf.ptr = PyBytes_AS_STRING((PyBytesObject *)wf.str);
+ wf.ptr = wf.buf = PyBytes_AS_STRING((PyBytesObject *)wf.str);
wf.end = wf.ptr + PyBytes_Size(wf.str);
wf.error = WFERR_OK;
- wf.depth = 0;
wf.version = version;
- if (version >= 3) {
- if ((wf.refs = PyDict_New()) == NULL) {
- Py_DECREF(wf.str);
- return NULL;
- }
- } else
- wf.refs = NULL;
+ if (w_init_refs(&wf, version)) {
+ Py_DECREF(wf.str);
+ return NULL;
+ }
w_object(x, &wf);
- Py_XDECREF(wf.refs);
+ w_clear_refs(&wf);
if (wf.str != NULL) {
char *base = PyBytes_AS_STRING((PyBytesObject *)wf.str);
if (wf.ptr - base > PY_SSIZE_T_MAX) {
diff --git a/Python/opcode_targets.h b/Python/opcode_targets.h
index f90a17a..1553a7a 100644
--- a/Python/opcode_targets.h
+++ b/Python/opcode_targets.h
@@ -15,8 +15,8 @@ static void *opcode_targets[256] = {
&&_unknown_opcode,
&&_unknown_opcode,
&&TARGET_UNARY_INVERT,
- &&_unknown_opcode,
- &&_unknown_opcode,
+ &&TARGET_BINARY_MATRIX_MULTIPLY,
+ &&TARGET_INPLACE_MATRIX_MULTIPLY,
&&_unknown_opcode,
&&TARGET_BINARY_POWER,
&&TARGET_BINARY_MULTIPLY,
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
new file mode 100644
index 0000000..2a36b53
--- /dev/null
+++ b/Python/pylifecycle.c
@@ -0,0 +1,1502 @@
+
+/* Python interpreter top-level routines, including init/exit */
+
+#include "Python.h"
+
+#include "Python-ast.h"
+#undef Yield /* undefine macro conflicting with winbase.h */
+#include "grammar.h"
+#include "node.h"
+#include "token.h"
+#include "parsetok.h"
+#include "errcode.h"
+#include "code.h"
+#include "symtable.h"
+#include "ast.h"
+#include "marshal.h"
+#include "osdefs.h"
+#include <locale.h>
+
+#ifdef HAVE_SIGNAL_H
+#include <signal.h>
+#endif
+
+#ifdef MS_WINDOWS
+#include "malloc.h" /* for alloca */
+#endif
+
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#endif
+
+#ifdef MS_WINDOWS
+#undef BYTE
+#include "windows.h"
+#endif
+
+_Py_IDENTIFIER(flush);
+_Py_IDENTIFIER(name);
+_Py_IDENTIFIER(stdin);
+_Py_IDENTIFIER(stdout);
+_Py_IDENTIFIER(stderr);
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern wchar_t *Py_GetPath(void);
+
+extern grammar _PyParser_Grammar; /* From graminit.c */
+
+/* Forward */
+static void initmain(PyInterpreterState *interp);
+static int initfsencoding(PyInterpreterState *interp);
+static void initsite(void);
+static int initstdio(void);
+static void initsigs(void);
+static void call_py_exitfuncs(void);
+static void wait_for_thread_shutdown(void);
+static void call_ll_exitfuncs(void);
+extern int _PyUnicode_Init(void);
+extern int _PyStructSequence_Init(void);
+extern void _PyUnicode_Fini(void);
+extern int _PyLong_Init(void);
+extern void PyLong_Fini(void);
+extern int _PyFaulthandler_Init(void);
+extern void _PyFaulthandler_Fini(void);
+extern void _PyHash_Fini(void);
+extern int _PyTraceMalloc_Init(void);
+extern int _PyTraceMalloc_Fini(void);
+
+#ifdef WITH_THREAD
+extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *);
+extern void _PyGILState_Fini(void);
+#endif /* WITH_THREAD */
+
+/* Global configuration variable declarations are in pydebug.h */
+/* XXX (ncoghlan): move those declarations to pylifecycle.h? */
+int Py_DebugFlag; /* Needed by parser.c */
+int Py_VerboseFlag; /* Needed by import.c */
+int Py_QuietFlag; /* Needed by sysmodule.c */
+int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
+int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
+int Py_OptimizeFlag = 0; /* Needed by compile.c */
+int Py_NoSiteFlag; /* Suppress 'import site' */
+int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
+int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
+int Py_FrozenFlag; /* Needed by getpath.c */
+int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
+int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */
+int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
+int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
+int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
+int Py_IsolatedFlag = 0; /* for -I, isolate from user's env */
+
+PyThreadState *_Py_Finalizing = NULL;
+
+/* Hack to force loading of object files */
+int (*_PyOS_mystrnicmp_hack)(const char *, const char *, Py_ssize_t) = \
+ PyOS_mystrnicmp; /* Python/pystrcmp.o */
+
+/* PyModule_GetWarningsModule is no longer necessary as of 2.6
+since _warnings is builtin. This API should not be used. */
+PyObject *
+PyModule_GetWarningsModule(void)
+{
+ return PyImport_ImportModule("warnings");
+}
+
+static int initialized = 0;
+
+/* API to access the initialized flag -- useful for esoteric use */
+
+int
+Py_IsInitialized(void)
+{
+ return initialized;
+}
+
+/* Helper to allow an embedding application to override the normal
+ * mechanism that attempts to figure out an appropriate IO encoding
+ */
+
+static char *_Py_StandardStreamEncoding = NULL;
+static char *_Py_StandardStreamErrors = NULL;
+
+int
+Py_SetStandardStreamEncoding(const char *encoding, const char *errors)
+{
+ if (Py_IsInitialized()) {
+ /* This is too late to have any effect */
+ return -1;
+ }
+ /* Can't call PyErr_NoMemory() on errors, as Python hasn't been
+ * initialised yet.
+ *
+ * However, the raw memory allocators are initialised appropriately
+ * as C static variables, so _PyMem_RawStrdup is OK even though
+ * Py_Initialize hasn't been called yet.
+ */
+ if (encoding) {
+ _Py_StandardStreamEncoding = _PyMem_RawStrdup(encoding);
+ if (!_Py_StandardStreamEncoding) {
+ return -2;
+ }
+ }
+ if (errors) {
+ _Py_StandardStreamErrors = _PyMem_RawStrdup(errors);
+ if (!_Py_StandardStreamErrors) {
+ if (_Py_StandardStreamEncoding) {
+ PyMem_RawFree(_Py_StandardStreamEncoding);
+ }
+ return -3;
+ }
+ }
+ return 0;
+}
+
+/* Global initializations. Can be undone by Py_Finalize(). Don't
+ call this twice without an intervening Py_Finalize() call. When
+ initializations fail, a fatal error is issued and the function does
+ not return. On return, the first thread and interpreter state have
+ been created.
+
+ Locking: you must hold the interpreter lock while calling this.
+ (If the lock has not yet been initialized, that's equivalent to
+ having the lock, but you cannot use multiple threads.)
+
+*/
+
+static int
+add_flag(int flag, const char *envs)
+{
+ int env = atoi(envs);
+ if (flag < env)
+ flag = env;
+ if (flag < 1)
+ flag = 1;
+ return flag;
+}
+
+static char*
+get_codec_name(const char *encoding)
+{
+ char *name_utf8, *name_str;
+ PyObject *codec, *name = NULL;
+
+ codec = _PyCodec_Lookup(encoding);
+ if (!codec)
+ goto error;
+
+ name = _PyObject_GetAttrId(codec, &PyId_name);
+ Py_CLEAR(codec);
+ if (!name)
+ goto error;
+
+ name_utf8 = _PyUnicode_AsString(name);
+ if (name_utf8 == NULL)
+ goto error;
+ name_str = _PyMem_RawStrdup(name_utf8);
+ Py_DECREF(name);
+ if (name_str == NULL) {
+ PyErr_NoMemory();
+ return NULL;
+ }
+ return name_str;
+
+error:
+ Py_XDECREF(codec);
+ Py_XDECREF(name);
+ return NULL;
+}
+
+static char*
+get_locale_encoding(void)
+{
+#ifdef MS_WINDOWS
+ char codepage[100];
+ PyOS_snprintf(codepage, sizeof(codepage), "cp%d", GetACP());
+ return get_codec_name(codepage);
+#elif defined(HAVE_LANGINFO_H) && defined(CODESET)
+ char* codeset = nl_langinfo(CODESET);
+ if (!codeset || codeset[0] == '\0') {
+ PyErr_SetString(PyExc_ValueError, "CODESET is not set or empty");
+ return NULL;
+ }
+ return get_codec_name(codeset);
+#else
+ PyErr_SetNone(PyExc_NotImplementedError);
+ return NULL;
+#endif
+}
+
+static void
+import_init(PyInterpreterState *interp, PyObject *sysmod)
+{
+ PyObject *importlib;
+ PyObject *impmod;
+ PyObject *sys_modules;
+ PyObject *value;
+
+ /* Import _importlib through its frozen version, _frozen_importlib. */
+ if (PyImport_ImportFrozenModule("_frozen_importlib") <= 0) {
+ Py_FatalError("Py_Initialize: can't import _frozen_importlib");
+ }
+ else if (Py_VerboseFlag) {
+ PySys_FormatStderr("import _frozen_importlib # frozen\n");
+ }
+ importlib = PyImport_AddModule("_frozen_importlib");
+ if (importlib == NULL) {
+ Py_FatalError("Py_Initialize: couldn't get _frozen_importlib from "
+ "sys.modules");
+ }
+ interp->importlib = importlib;
+ Py_INCREF(interp->importlib);
+
+ /* Install _importlib as __import__ */
+ impmod = PyInit_imp();
+ if (impmod == NULL) {
+ Py_FatalError("Py_Initialize: can't import imp");
+ }
+ else if (Py_VerboseFlag) {
+ PySys_FormatStderr("import imp # builtin\n");
+ }
+ sys_modules = PyImport_GetModuleDict();
+ if (Py_VerboseFlag) {
+ PySys_FormatStderr("import sys # builtin\n");
+ }
+ if (PyDict_SetItemString(sys_modules, "_imp", impmod) < 0) {
+ Py_FatalError("Py_Initialize: can't save _imp to sys.modules");
+ }
+
+ value = PyObject_CallMethod(importlib, "_install", "OO", sysmod, impmod);
+ if (value == NULL) {
+ PyErr_Print();
+ Py_FatalError("Py_Initialize: importlib install failed");
+ }
+ Py_DECREF(value);
+ Py_DECREF(impmod);
+
+ _PyImportZip_Init();
+}
+
+
+void
+_Py_InitializeEx_Private(int install_sigs, int install_importlib)
+{
+ PyInterpreterState *interp;
+ PyThreadState *tstate;
+ PyObject *bimod, *sysmod, *pstderr;
+ char *p;
+ extern void _Py_ReadyTypes(void);
+
+ if (initialized)
+ return;
+ initialized = 1;
+ _Py_Finalizing = NULL;
+
+#if defined(HAVE_LANGINFO_H) && defined(HAVE_SETLOCALE)
+ /* Set up the LC_CTYPE locale, so we can obtain
+ the locale's charset without having to switch
+ locales. */
+ setlocale(LC_CTYPE, "");
+#endif
+
+ if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
+ Py_DebugFlag = add_flag(Py_DebugFlag, p);
+ if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0')
+ Py_VerboseFlag = add_flag(Py_VerboseFlag, p);
+ if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
+ Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p);
+ if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0')
+ Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p);
+ /* The variable is only tested for existence here; _PyRandom_Init will
+ check its value further. */
+ if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0')
+ Py_HashRandomizationFlag = add_flag(Py_HashRandomizationFlag, p);
+
+ _PyRandom_Init();
+
+ interp = PyInterpreterState_New();
+ if (interp == NULL)
+ Py_FatalError("Py_Initialize: can't make first interpreter");
+
+ tstate = PyThreadState_New(interp);
+ if (tstate == NULL)
+ Py_FatalError("Py_Initialize: can't make first thread");
+ (void) PyThreadState_Swap(tstate);
+
+#ifdef WITH_THREAD
+ /* We can't call _PyEval_FiniThreads() in Py_Finalize because
+ destroying the GIL might fail when it is being referenced from
+ another running thread (see issue #9901).
+ Instead we destroy the previously created GIL here, which ensures
+ that we can call Py_Initialize / Py_Finalize multiple times. */
+ _PyEval_FiniThreads();
+
+ /* Auto-thread-state API */
+ _PyGILState_Init(interp, tstate);
+#endif /* WITH_THREAD */
+
+ _Py_ReadyTypes();
+
+ if (!_PyFrame_Init())
+ Py_FatalError("Py_Initialize: can't init frames");
+
+ if (!_PyLong_Init())
+ Py_FatalError("Py_Initialize: can't init longs");
+
+ if (!PyByteArray_Init())
+ Py_FatalError("Py_Initialize: can't init bytearray");
+
+ if (!_PyFloat_Init())
+ Py_FatalError("Py_Initialize: can't init float");
+
+ interp->modules = PyDict_New();
+ if (interp->modules == NULL)
+ Py_FatalError("Py_Initialize: can't make modules dictionary");
+
+ /* Init Unicode implementation; relies on the codec registry */
+ if (_PyUnicode_Init() < 0)
+ Py_FatalError("Py_Initialize: can't initialize unicode");
+ if (_PyStructSequence_Init() < 0)
+ Py_FatalError("Py_Initialize: can't initialize structseq");
+
+ bimod = _PyBuiltin_Init();
+ if (bimod == NULL)
+ Py_FatalError("Py_Initialize: can't initialize builtins modules");
+ _PyImport_FixupBuiltin(bimod, "builtins");
+ interp->builtins = PyModule_GetDict(bimod);
+ if (interp->builtins == NULL)
+ Py_FatalError("Py_Initialize: can't initialize builtins dict");
+ Py_INCREF(interp->builtins);
+
+ /* initialize builtin exceptions */
+ _PyExc_Init(bimod);
+
+ sysmod = _PySys_Init();
+ if (sysmod == NULL)
+ Py_FatalError("Py_Initialize: can't initialize sys");
+ interp->sysdict = PyModule_GetDict(sysmod);
+ if (interp->sysdict == NULL)
+ Py_FatalError("Py_Initialize: can't initialize sys dict");
+ Py_INCREF(interp->sysdict);
+ _PyImport_FixupBuiltin(sysmod, "sys");
+ PySys_SetPath(Py_GetPath());
+ PyDict_SetItemString(interp->sysdict, "modules",
+ interp->modules);
+
+ /* Set up a preliminary stderr printer until we have enough
+ infrastructure for the io module in place. */
+ pstderr = PyFile_NewStdPrinter(fileno(stderr));
+ if (pstderr == NULL)
+ Py_FatalError("Py_Initialize: can't set preliminary stderr");
+ _PySys_SetObjectId(&PyId_stderr, pstderr);
+ PySys_SetObject("__stderr__", pstderr);
+ Py_DECREF(pstderr);
+
+ _PyImport_Init();
+
+ _PyImportHooks_Init();
+
+ /* Initialize _warnings. */
+ _PyWarnings_Init();
+
+ if (!install_importlib)
+ return;
+
+ import_init(interp, sysmod);
+
+ /* initialize the faulthandler module */
+ if (_PyFaulthandler_Init())
+ Py_FatalError("Py_Initialize: can't initialize faulthandler");
+
+ if (_PyTime_Init() < 0)
+ Py_FatalError("Py_Initialize: can't initialize time");
+
+ if (initfsencoding(interp) < 0)
+ Py_FatalError("Py_Initialize: unable to load the file system codec");
+
+ if (install_sigs)
+ initsigs(); /* Signal handling stuff, including initintr() */
+
+ if (_PyTraceMalloc_Init() < 0)
+ Py_FatalError("Py_Initialize: can't initialize tracemalloc");
+
+ initmain(interp); /* Module __main__ */
+ if (initstdio() < 0)
+ Py_FatalError(
+ "Py_Initialize: can't initialize sys standard streams");
+
+ /* Initialize warnings. */
+ if (PySys_HasWarnOptions()) {
+ PyObject *warnings_module = PyImport_ImportModule("warnings");
+ if (warnings_module == NULL) {
+ fprintf(stderr, "'import warnings' failed; traceback:\n");
+ PyErr_Print();
+ }
+ Py_XDECREF(warnings_module);
+ }
+
+ if (!Py_NoSiteFlag)
+ initsite(); /* Module site */
+}
+
+void
+Py_InitializeEx(int install_sigs)
+{
+ _Py_InitializeEx_Private(install_sigs, 1);
+}
+
+void
+Py_Initialize(void)
+{
+ Py_InitializeEx(1);
+}
+
+
+#ifdef COUNT_ALLOCS
+extern void dump_counts(FILE*);
+#endif
+
+/* Flush stdout and stderr */
+
+static int
+file_is_closed(PyObject *fobj)
+{
+ int r;
+ PyObject *tmp = PyObject_GetAttrString(fobj, "closed");
+ if (tmp == NULL) {
+ PyErr_Clear();
+ return 0;
+ }
+ r = PyObject_IsTrue(tmp);
+ Py_DECREF(tmp);
+ if (r < 0)
+ PyErr_Clear();
+ return r > 0;
+}
+
+static void
+flush_std_files(void)
+{
+ PyObject *fout = _PySys_GetObjectId(&PyId_stdout);
+ PyObject *ferr = _PySys_GetObjectId(&PyId_stderr);
+ PyObject *tmp;
+
+ if (fout != NULL && fout != Py_None && !file_is_closed(fout)) {
+ tmp = _PyObject_CallMethodId(fout, &PyId_flush, "");
+ if (tmp == NULL)
+ PyErr_WriteUnraisable(fout);
+ else
+ Py_DECREF(tmp);
+ }
+
+ if (ferr != NULL && ferr != Py_None && !file_is_closed(ferr)) {
+ tmp = _PyObject_CallMethodId(ferr, &PyId_flush, "");
+ if (tmp == NULL)
+ PyErr_Clear();
+ else
+ Py_DECREF(tmp);
+ }
+}
+
+/* Undo the effect of Py_Initialize().
+
+ Beware: if multiple interpreter and/or thread states exist, these
+ are not wiped out; only the current thread and interpreter state
+ are deleted. But since everything else is deleted, those other
+ interpreter and thread states should no longer be used.
+
+ (XXX We should do better, e.g. wipe out all interpreters and
+ threads.)
+
+ Locking: as above.
+
+*/
+
+void
+Py_Finalize(void)
+{
+ PyInterpreterState *interp;
+ PyThreadState *tstate;
+
+ if (!initialized)
+ return;
+
+ wait_for_thread_shutdown();
+
+ /* The interpreter is still entirely intact at this point, and the
+ * exit funcs may be relying on that. In particular, if some thread
+ * or exit func is still waiting to do an import, the import machinery
+ * expects Py_IsInitialized() to return true. So don't say the
+ * interpreter is uninitialized until after the exit funcs have run.
+ * Note that Threading.py uses an exit func to do a join on all the
+ * threads created thru it, so this also protects pending imports in
+ * the threads created via Threading.
+ */
+ call_py_exitfuncs();
+
+ /* Get current thread state and interpreter pointer */
+ tstate = PyThreadState_GET();
+ interp = tstate->interp;
+
+ /* Remaining threads (e.g. daemon threads) will automatically exit
+ after taking the GIL (in PyEval_RestoreThread()). */
+ _Py_Finalizing = tstate;
+ initialized = 0;
+
+ /* Flush stdout+stderr */
+ flush_std_files();
+
+ /* Disable signal handling */
+ PyOS_FiniInterrupts();
+
+ /* Collect garbage. This may call finalizers; it's nice to call these
+ * before all modules are destroyed.
+ * XXX If a __del__ or weakref callback is triggered here, and tries to
+ * XXX import a module, bad things can happen, because Python no
+ * XXX longer believes it's initialized.
+ * XXX Fatal Python error: Interpreter not initialized (version mismatch?)
+ * XXX is easy to provoke that way. I've also seen, e.g.,
+ * XXX Exception exceptions.ImportError: 'No module named sha'
+ * XXX in <function callback at 0x008F5718> ignored
+ * XXX but I'm unclear on exactly how that one happens. In any case,
+ * XXX I haven't seen a real-life report of either of these.
+ */
+ PyGC_Collect();
+#ifdef COUNT_ALLOCS
+ /* With COUNT_ALLOCS, it helps to run GC multiple times:
+ each collection might release some types from the type
+ list, so they become garbage. */
+ while (PyGC_Collect() > 0)
+ /* nothing */;
+#endif
+ /* Destroy all modules */
+ PyImport_Cleanup();
+
+ /* Flush stdout+stderr (again, in case more was printed) */
+ flush_std_files();
+
+ /* Collect final garbage. This disposes of cycles created by
+ * class definitions, for example.
+ * XXX This is disabled because it caused too many problems. If
+ * XXX a __del__ or weakref callback triggers here, Python code has
+ * XXX a hard time running, because even the sys module has been
+ * XXX cleared out (sys.stdout is gone, sys.excepthook is gone, etc).
+ * XXX One symptom is a sequence of information-free messages
+ * XXX coming from threads (if a __del__ or callback is invoked,
+ * XXX other threads can execute too, and any exception they encounter
+ * XXX triggers a comedy of errors as subsystem after subsystem
+ * XXX fails to find what it *expects* to find in sys to help report
+ * XXX the exception and consequent unexpected failures). I've also
+ * XXX seen segfaults then, after adding print statements to the
+ * XXX Python code getting called.
+ */
+#if 0
+ PyGC_Collect();
+#endif
+
+ /* Disable tracemalloc after all Python objects have been destroyed,
+ so it is possible to use tracemalloc in objects destructor. */
+ _PyTraceMalloc_Fini();
+
+ /* Destroy the database used by _PyImport_{Fixup,Find}Extension */
+ _PyImport_Fini();
+
+ /* Cleanup typeobject.c's internal caches. */
+ _PyType_Fini();
+
+ /* unload faulthandler module */
+ _PyFaulthandler_Fini();
+
+ /* Debugging stuff */
+#ifdef COUNT_ALLOCS
+ dump_counts(stdout);
+#endif
+ /* dump hash stats */
+ _PyHash_Fini();
+
+ _PY_DEBUG_PRINT_TOTAL_REFS();
+
+#ifdef Py_TRACE_REFS
+ /* Display all objects still alive -- this can invoke arbitrary
+ * __repr__ overrides, so requires a mostly-intact interpreter.
+ * Alas, a lot of stuff may still be alive now that will be cleaned
+ * up later.
+ */
+ if (Py_GETENV("PYTHONDUMPREFS"))
+ _Py_PrintReferences(stderr);
+#endif /* Py_TRACE_REFS */
+
+ /* Clear interpreter state and all thread states. */
+ PyInterpreterState_Clear(interp);
+
+ /* Now we decref the exception classes. After this point nothing
+ can raise an exception. That's okay, because each Fini() method
+ below has been checked to make sure no exceptions are ever
+ raised.
+ */
+
+ _PyExc_Fini();
+
+ /* Sundry finalizers */
+ PyMethod_Fini();
+ PyFrame_Fini();
+ PyCFunction_Fini();
+ PyTuple_Fini();
+ PyList_Fini();
+ PySet_Fini();
+ PyBytes_Fini();
+ PyByteArray_Fini();
+ PyLong_Fini();
+ PyFloat_Fini();
+ PyDict_Fini();
+ PySlice_Fini();
+ _PyGC_Fini();
+ _PyRandom_Fini();
+
+ /* Cleanup Unicode implementation */
+ _PyUnicode_Fini();
+
+ /* reset file system default encoding */
+ if (!Py_HasFileSystemDefaultEncoding && Py_FileSystemDefaultEncoding) {
+ PyMem_RawFree((char*)Py_FileSystemDefaultEncoding);
+ Py_FileSystemDefaultEncoding = NULL;
+ }
+
+ /* XXX Still allocated:
+ - various static ad-hoc pointers to interned strings
+ - int and float free list blocks
+ - whatever various modules and libraries allocate
+ */
+
+ PyGrammar_RemoveAccelerators(&_PyParser_Grammar);
+
+ /* Cleanup auto-thread-state */
+#ifdef WITH_THREAD
+ _PyGILState_Fini();
+#endif /* WITH_THREAD */
+
+ /* Delete current thread. After this, many C API calls become crashy. */
+ PyThreadState_Swap(NULL);
+ PyInterpreterState_Delete(interp);
+
+#ifdef Py_TRACE_REFS
+ /* Display addresses (& refcnts) of all objects still alive.
+ * An address can be used to find the repr of the object, printed
+ * above by _Py_PrintReferences.
+ */
+ if (Py_GETENV("PYTHONDUMPREFS"))
+ _Py_PrintReferenceAddresses(stderr);
+#endif /* Py_TRACE_REFS */
+#ifdef PYMALLOC_DEBUG
+ if (Py_GETENV("PYTHONMALLOCSTATS"))
+ _PyObject_DebugMallocStats(stderr);
+#endif
+
+ call_ll_exitfuncs();
+}
+
+/* Create and initialize a new interpreter and thread, and return the
+ new thread. This requires that Py_Initialize() has been called
+ first.
+
+ Unsuccessful initialization yields a NULL pointer. Note that *no*
+ exception information is available even in this case -- the
+ exception information is held in the thread, and there is no
+ thread.
+
+ Locking: as above.
+
+*/
+
+PyThreadState *
+Py_NewInterpreter(void)
+{
+ PyInterpreterState *interp;
+ PyThreadState *tstate, *save_tstate;
+ PyObject *bimod, *sysmod;
+
+ if (!initialized)
+ Py_FatalError("Py_NewInterpreter: call Py_Initialize first");
+
+ interp = PyInterpreterState_New();
+ if (interp == NULL)
+ return NULL;
+
+ tstate = PyThreadState_New(interp);
+ if (tstate == NULL) {
+ PyInterpreterState_Delete(interp);
+ return NULL;
+ }
+
+ save_tstate = PyThreadState_Swap(tstate);
+
+ /* XXX The following is lax in error checking */
+
+ interp->modules = PyDict_New();
+
+ bimod = _PyImport_FindBuiltin("builtins");
+ if (bimod != NULL) {
+ interp->builtins = PyModule_GetDict(bimod);
+ if (interp->builtins == NULL)
+ goto handle_error;
+ Py_INCREF(interp->builtins);
+ }
+
+ /* initialize builtin exceptions */
+ _PyExc_Init(bimod);
+
+ sysmod = _PyImport_FindBuiltin("sys");
+ if (bimod != NULL && sysmod != NULL) {
+ PyObject *pstderr;
+
+ interp->sysdict = PyModule_GetDict(sysmod);
+ if (interp->sysdict == NULL)
+ goto handle_error;
+ Py_INCREF(interp->sysdict);
+ PySys_SetPath(Py_GetPath());
+ PyDict_SetItemString(interp->sysdict, "modules",
+ interp->modules);
+ /* Set up a preliminary stderr printer until we have enough
+ infrastructure for the io module in place. */
+ pstderr = PyFile_NewStdPrinter(fileno(stderr));
+ if (pstderr == NULL)
+ Py_FatalError("Py_Initialize: can't set preliminary stderr");
+ _PySys_SetObjectId(&PyId_stderr, pstderr);
+ PySys_SetObject("__stderr__", pstderr);
+ Py_DECREF(pstderr);
+
+ _PyImportHooks_Init();
+
+ import_init(interp, sysmod);
+
+ if (initfsencoding(interp) < 0)
+ goto handle_error;
+
+ if (initstdio() < 0)
+ Py_FatalError(
+ "Py_Initialize: can't initialize sys standard streams");
+ initmain(interp);
+ if (!Py_NoSiteFlag)
+ initsite();
+ }
+
+ if (!PyErr_Occurred())
+ return tstate;
+
+handle_error:
+ /* Oops, it didn't work. Undo it all. */
+
+ PyErr_PrintEx(0);
+ PyThreadState_Clear(tstate);
+ PyThreadState_Swap(save_tstate);
+ PyThreadState_Delete(tstate);
+ PyInterpreterState_Delete(interp);
+
+ return NULL;
+}
+
+/* Delete an interpreter and its last thread. This requires that the
+ given thread state is current, that the thread has no remaining
+ frames, and that it is its interpreter's only remaining thread.
+ It is a fatal error to violate these constraints.
+
+ (Py_Finalize() doesn't have these constraints -- it zaps
+ everything, regardless.)
+
+ Locking: as above.
+
+*/
+
+void
+Py_EndInterpreter(PyThreadState *tstate)
+{
+ PyInterpreterState *interp = tstate->interp;
+
+ if (tstate != PyThreadState_GET())
+ Py_FatalError("Py_EndInterpreter: thread is not current");
+ if (tstate->frame != NULL)
+ Py_FatalError("Py_EndInterpreter: thread still has a frame");
+
+ wait_for_thread_shutdown();
+
+ if (tstate != interp->tstate_head || tstate->next != NULL)
+ Py_FatalError("Py_EndInterpreter: not the last thread");
+
+ PyImport_Cleanup();
+ PyInterpreterState_Clear(interp);
+ PyThreadState_Swap(NULL);
+ PyInterpreterState_Delete(interp);
+}
+
+#ifdef MS_WINDOWS
+static wchar_t *progname = L"python";
+#else
+static wchar_t *progname = L"python3";
+#endif
+
+void
+Py_SetProgramName(wchar_t *pn)
+{
+ if (pn && *pn)
+ progname = pn;
+}
+
+wchar_t *
+Py_GetProgramName(void)
+{
+ return progname;
+}
+
+static wchar_t *default_home = NULL;
+static wchar_t env_home[MAXPATHLEN+1];
+
+void
+Py_SetPythonHome(wchar_t *home)
+{
+ default_home = home;
+}
+
+wchar_t *
+Py_GetPythonHome(void)
+{
+ wchar_t *home = default_home;
+ if (home == NULL && !Py_IgnoreEnvironmentFlag) {
+ char* chome = Py_GETENV("PYTHONHOME");
+ if (chome) {
+ size_t size = Py_ARRAY_LENGTH(env_home);
+ size_t r = mbstowcs(env_home, chome, size);
+ if (r != (size_t)-1 && r < size)
+ home = env_home;
+ }
+
+ }
+ return home;
+}
+
+/* Create __main__ module */
+
+static void
+initmain(PyInterpreterState *interp)
+{
+ PyObject *m, *d, *loader;
+ m = PyImport_AddModule("__main__");
+ if (m == NULL)
+ Py_FatalError("can't create __main__ module");
+ d = PyModule_GetDict(m);
+ if (PyDict_GetItemString(d, "__builtins__") == NULL) {
+ PyObject *bimod = PyImport_ImportModule("builtins");
+ if (bimod == NULL) {
+ Py_FatalError("Failed to retrieve builtins module");
+ }
+ if (PyDict_SetItemString(d, "__builtins__", bimod) < 0) {
+ Py_FatalError("Failed to initialize __main__.__builtins__");
+ }
+ Py_DECREF(bimod);
+ }
+ /* Main is a little special - imp.is_builtin("__main__") will return
+ * False, but BuiltinImporter is still the most appropriate initial
+ * setting for its __loader__ attribute. A more suitable value will
+ * be set if __main__ gets further initialized later in the startup
+ * process.
+ */
+ loader = PyDict_GetItemString(d, "__loader__");
+ if (loader == NULL || loader == Py_None) {
+ PyObject *loader = PyObject_GetAttrString(interp->importlib,
+ "BuiltinImporter");
+ if (loader == NULL) {
+ Py_FatalError("Failed to retrieve BuiltinImporter");
+ }
+ if (PyDict_SetItemString(d, "__loader__", loader) < 0) {
+ Py_FatalError("Failed to initialize __main__.__loader__");
+ }
+ Py_DECREF(loader);
+ }
+}
+
+static int
+initfsencoding(PyInterpreterState *interp)
+{
+ PyObject *codec;
+
+ if (Py_FileSystemDefaultEncoding == NULL)
+ {
+ Py_FileSystemDefaultEncoding = get_locale_encoding();
+ if (Py_FileSystemDefaultEncoding == NULL)
+ Py_FatalError("Py_Initialize: Unable to get the locale encoding");
+
+ Py_HasFileSystemDefaultEncoding = 0;
+ interp->fscodec_initialized = 1;
+ return 0;
+ }
+
+ /* the encoding is mbcs, utf-8 or ascii */
+ codec = _PyCodec_Lookup(Py_FileSystemDefaultEncoding);
+ if (!codec) {
+ /* Such error can only occurs in critical situations: no more
+ * memory, import a module of the standard library failed,
+ * etc. */
+ return -1;
+ }
+ Py_DECREF(codec);
+ interp->fscodec_initialized = 1;
+ return 0;
+}
+
+/* Import the site module (not into __main__ though) */
+
+static void
+initsite(void)
+{
+ PyObject *m;
+ m = PyImport_ImportModule("site");
+ if (m == NULL) {
+ fprintf(stderr, "Failed to import the site module\n");
+ PyErr_Print();
+ Py_Finalize();
+ exit(1);
+ }
+ else {
+ Py_DECREF(m);
+ }
+}
+
+static PyObject*
+create_stdio(PyObject* io,
+ int fd, int write_mode, char* name,
+ char* encoding, char* errors)
+{
+ PyObject *buf = NULL, *stream = NULL, *text = NULL, *raw = NULL, *res;
+ const char* mode;
+ const char* newline;
+ PyObject *line_buffering;
+ int buffering, isatty;
+ _Py_IDENTIFIER(open);
+ _Py_IDENTIFIER(isatty);
+ _Py_IDENTIFIER(TextIOWrapper);
+ _Py_IDENTIFIER(mode);
+
+ /* stdin is always opened in buffered mode, first because it shouldn't
+ make a difference in common use cases, second because TextIOWrapper
+ depends on the presence of a read1() method which only exists on
+ buffered streams.
+ */
+ if (Py_UnbufferedStdioFlag && write_mode)
+ buffering = 0;
+ else
+ buffering = -1;
+ if (write_mode)
+ mode = "wb";
+ else
+ mode = "rb";
+ buf = _PyObject_CallMethodId(io, &PyId_open, "isiOOOi",
+ fd, mode, buffering,
+ Py_None, Py_None, Py_None, 0);
+ if (buf == NULL)
+ goto error;
+
+ if (buffering) {
+ _Py_IDENTIFIER(raw);
+ raw = _PyObject_GetAttrId(buf, &PyId_raw);
+ if (raw == NULL)
+ goto error;
+ }
+ else {
+ raw = buf;
+ Py_INCREF(raw);
+ }
+
+ text = PyUnicode_FromString(name);
+ if (text == NULL || _PyObject_SetAttrId(raw, &PyId_name, text) < 0)
+ goto error;
+ res = _PyObject_CallMethodId(raw, &PyId_isatty, "");
+ if (res == NULL)
+ goto error;
+ isatty = PyObject_IsTrue(res);
+ Py_DECREF(res);
+ if (isatty == -1)
+ goto error;
+ if (isatty || Py_UnbufferedStdioFlag)
+ line_buffering = Py_True;
+ else
+ line_buffering = Py_False;
+
+ Py_CLEAR(raw);
+ Py_CLEAR(text);
+
+#ifdef MS_WINDOWS
+ /* sys.stdin: enable universal newline mode, translate "\r\n" and "\r"
+ newlines to "\n".
+ sys.stdout and sys.stderr: translate "\n" to "\r\n". */
+ newline = NULL;
+#else
+ /* sys.stdin: split lines at "\n".
+ sys.stdout and sys.stderr: don't translate newlines (use "\n"). */
+ newline = "\n";
+#endif
+
+ stream = _PyObject_CallMethodId(io, &PyId_TextIOWrapper, "OsssO",
+ buf, encoding, errors,
+ newline, line_buffering);
+ Py_CLEAR(buf);
+ if (stream == NULL)
+ goto error;
+
+ if (write_mode)
+ mode = "w";
+ else
+ mode = "r";
+ text = PyUnicode_FromString(mode);
+ if (!text || _PyObject_SetAttrId(stream, &PyId_mode, text) < 0)
+ goto error;
+ Py_CLEAR(text);
+ return stream;
+
+error:
+ Py_XDECREF(buf);
+ Py_XDECREF(stream);
+ Py_XDECREF(text);
+ Py_XDECREF(raw);
+ return NULL;
+}
+
+static int
+is_valid_fd(int fd)
+{
+ int dummy_fd;
+ if (fd < 0 || !_PyVerify_fd(fd))
+ return 0;
+ dummy_fd = dup(fd);
+ if (dummy_fd < 0)
+ return 0;
+ close(dummy_fd);
+ return 1;
+}
+
+/* Initialize sys.stdin, stdout, stderr and builtins.open */
+static int
+initstdio(void)
+{
+ PyObject *iomod = NULL, *wrapper;
+ PyObject *bimod = NULL;
+ PyObject *m;
+ PyObject *std = NULL;
+ int status = 0, fd;
+ PyObject * encoding_attr;
+ char *pythonioencoding = NULL, *encoding, *errors;
+
+ /* Hack to avoid a nasty recursion issue when Python is invoked
+ in verbose mode: pre-import the Latin-1 and UTF-8 codecs */
+ if ((m = PyImport_ImportModule("encodings.utf_8")) == NULL) {
+ goto error;
+ }
+ Py_DECREF(m);
+
+ if (!(m = PyImport_ImportModule("encodings.latin_1"))) {
+ goto error;
+ }
+ Py_DECREF(m);
+
+ if (!(bimod = PyImport_ImportModule("builtins"))) {
+ goto error;
+ }
+
+ if (!(iomod = PyImport_ImportModule("io"))) {
+ goto error;
+ }
+ if (!(wrapper = PyObject_GetAttrString(iomod, "OpenWrapper"))) {
+ goto error;
+ }
+
+ /* Set builtins.open */
+ if (PyObject_SetAttrString(bimod, "open", wrapper) == -1) {
+ Py_DECREF(wrapper);
+ goto error;
+ }
+ Py_DECREF(wrapper);
+
+ encoding = _Py_StandardStreamEncoding;
+ errors = _Py_StandardStreamErrors;
+ if (!encoding || !errors) {
+ if (!errors) {
+ /* When the LC_CTYPE locale is the POSIX locale ("C locale"),
+ stdin and stdout use the surrogateescape error handler by
+ default, instead of the strict error handler. */
+ char *loc = setlocale(LC_CTYPE, NULL);
+ if (loc != NULL && strcmp(loc, "C") == 0)
+ errors = "surrogateescape";
+ }
+
+ pythonioencoding = Py_GETENV("PYTHONIOENCODING");
+ if (pythonioencoding) {
+ char *err;
+ pythonioencoding = _PyMem_Strdup(pythonioencoding);
+ if (pythonioencoding == NULL) {
+ PyErr_NoMemory();
+ goto error;
+ }
+ err = strchr(pythonioencoding, ':');
+ if (err) {
+ *err = '\0';
+ err++;
+ if (*err && !_Py_StandardStreamErrors) {
+ errors = err;
+ }
+ }
+ if (*pythonioencoding && !encoding) {
+ encoding = pythonioencoding;
+ }
+ }
+ }
+
+ /* Set sys.stdin */
+ fd = fileno(stdin);
+ /* Under some conditions stdin, stdout and stderr may not be connected
+ * and fileno() may point to an invalid file descriptor. For example
+ * GUI apps don't have valid standard streams by default.
+ */
+ if (!is_valid_fd(fd)) {
+ std = Py_None;
+ Py_INCREF(std);
+ }
+ else {
+ std = create_stdio(iomod, fd, 0, "<stdin>", encoding, errors);
+ if (std == NULL)
+ goto error;
+ } /* if (fd < 0) */
+ PySys_SetObject("__stdin__", std);
+ _PySys_SetObjectId(&PyId_stdin, std);
+ Py_DECREF(std);
+
+ /* Set sys.stdout */
+ fd = fileno(stdout);
+ if (!is_valid_fd(fd)) {
+ std = Py_None;
+ Py_INCREF(std);
+ }
+ else {
+ std = create_stdio(iomod, fd, 1, "<stdout>", encoding, errors);
+ if (std == NULL)
+ goto error;
+ } /* if (fd < 0) */
+ PySys_SetObject("__stdout__", std);
+ _PySys_SetObjectId(&PyId_stdout, std);
+ Py_DECREF(std);
+
+#if 1 /* Disable this if you have trouble debugging bootstrap stuff */
+ /* Set sys.stderr, replaces the preliminary stderr */
+ fd = fileno(stderr);
+ if (!is_valid_fd(fd)) {
+ std = Py_None;
+ Py_INCREF(std);
+ }
+ else {
+ std = create_stdio(iomod, fd, 1, "<stderr>", encoding, "backslashreplace");
+ if (std == NULL)
+ goto error;
+ } /* if (fd < 0) */
+
+ /* Same as hack above, pre-import stderr's codec to avoid recursion
+ when import.c tries to write to stderr in verbose mode. */
+ encoding_attr = PyObject_GetAttrString(std, "encoding");
+ if (encoding_attr != NULL) {
+ const char * std_encoding;
+ std_encoding = _PyUnicode_AsString(encoding_attr);
+ if (std_encoding != NULL) {
+ PyObject *codec_info = _PyCodec_Lookup(std_encoding);
+ Py_XDECREF(codec_info);
+ }
+ Py_DECREF(encoding_attr);
+ }
+ PyErr_Clear(); /* Not a fatal error if codec isn't available */
+
+ if (PySys_SetObject("__stderr__", std) < 0) {
+ Py_DECREF(std);
+ goto error;
+ }
+ if (_PySys_SetObjectId(&PyId_stderr, std) < 0) {
+ Py_DECREF(std);
+ goto error;
+ }
+ Py_DECREF(std);
+#endif
+
+ if (0) {
+ error:
+ status = -1;
+ }
+
+ /* We won't need them anymore. */
+ if (_Py_StandardStreamEncoding) {
+ PyMem_RawFree(_Py_StandardStreamEncoding);
+ _Py_StandardStreamEncoding = NULL;
+ }
+ if (_Py_StandardStreamErrors) {
+ PyMem_RawFree(_Py_StandardStreamErrors);
+ _Py_StandardStreamErrors = NULL;
+ }
+ PyMem_Free(pythonioencoding);
+ Py_XDECREF(bimod);
+ Py_XDECREF(iomod);
+ return status;
+}
+
+
+/* Print fatal error message and abort */
+
+void
+Py_FatalError(const char *msg)
+{
+ const int fd = fileno(stderr);
+ PyThreadState *tstate;
+
+ fprintf(stderr, "Fatal Python error: %s\n", msg);
+ fflush(stderr); /* it helps in Windows debug build */
+ if (PyErr_Occurred()) {
+ PyErr_PrintEx(0);
+ }
+ else {
+ tstate = (PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current);
+ if (tstate != NULL) {
+ fputc('\n', stderr);
+ fflush(stderr);
+ _Py_DumpTracebackThreads(fd, tstate->interp, tstate);
+ }
+ _PyFaulthandler_Fini();
+ }
+
+#ifdef MS_WINDOWS
+ {
+ size_t len = strlen(msg);
+ WCHAR* buffer;
+ size_t i;
+
+ /* Convert the message to wchar_t. This uses a simple one-to-one
+ conversion, assuming that the this error message actually uses ASCII
+ only. If this ceases to be true, we will have to convert. */
+ buffer = alloca( (len+1) * (sizeof *buffer));
+ for( i=0; i<=len; ++i)
+ buffer[i] = msg[i];
+ OutputDebugStringW(L"Fatal Python error: ");
+ OutputDebugStringW(buffer);
+ OutputDebugStringW(L"\n");
+ }
+#ifdef _DEBUG
+ DebugBreak();
+#endif
+#endif /* MS_WINDOWS */
+ abort();
+}
+
+/* Clean up and exit */
+
+#ifdef WITH_THREAD
+#include "pythread.h"
+#endif
+
+static void (*pyexitfunc)(void) = NULL;
+/* For the atexit module. */
+void _Py_PyAtExit(void (*func)(void))
+{
+ pyexitfunc = func;
+}
+
+static void
+call_py_exitfuncs(void)
+{
+ if (pyexitfunc == NULL)
+ return;
+
+ (*pyexitfunc)();
+ PyErr_Clear();
+}
+
+/* Wait until threading._shutdown completes, provided
+ the threading module was imported in the first place.
+ The shutdown routine will wait until all non-daemon
+ "threading" threads have completed. */
+static void
+wait_for_thread_shutdown(void)
+{
+#ifdef WITH_THREAD
+ _Py_IDENTIFIER(_shutdown);
+ PyObject *result;
+ PyThreadState *tstate = PyThreadState_GET();
+ PyObject *threading = PyMapping_GetItemString(tstate->interp->modules,
+ "threading");
+ if (threading == NULL) {
+ /* threading not imported */
+ PyErr_Clear();
+ return;
+ }
+ result = _PyObject_CallMethodId(threading, &PyId__shutdown, "");
+ if (result == NULL) {
+ PyErr_WriteUnraisable(threading);
+ }
+ else {
+ Py_DECREF(result);
+ }
+ Py_DECREF(threading);
+#endif
+}
+
+#define NEXITFUNCS 32
+static void (*exitfuncs[NEXITFUNCS])(void);
+static int nexitfuncs = 0;
+
+int Py_AtExit(void (*func)(void))
+{
+ if (nexitfuncs >= NEXITFUNCS)
+ return -1;
+ exitfuncs[nexitfuncs++] = func;
+ return 0;
+}
+
+static void
+call_ll_exitfuncs(void)
+{
+ while (nexitfuncs > 0)
+ (*exitfuncs[--nexitfuncs])();
+
+ fflush(stdout);
+ fflush(stderr);
+}
+
+void
+Py_Exit(int sts)
+{
+ Py_Finalize();
+
+ exit(sts);
+}
+
+static void
+initsigs(void)
+{
+#ifdef SIGPIPE
+ PyOS_setsig(SIGPIPE, SIG_IGN);
+#endif
+#ifdef SIGXFZ
+ PyOS_setsig(SIGXFZ, SIG_IGN);
+#endif
+#ifdef SIGXFSZ
+ PyOS_setsig(SIGXFSZ, SIG_IGN);
+#endif
+ PyOS_InitInterrupts(); /* May imply initsignal() */
+ if (PyErr_Occurred()) {
+ Py_FatalError("Py_Initialize: can't import signal");
+ }
+}
+
+
+/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL.
+ *
+ * All of the code in this function must only use async-signal-safe functions,
+ * listed at `man 7 signal` or
+ * http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html.
+ */
+void
+_Py_RestoreSignals(void)
+{
+#ifdef SIGPIPE
+ PyOS_setsig(SIGPIPE, SIG_DFL);
+#endif
+#ifdef SIGXFZ
+ PyOS_setsig(SIGXFZ, SIG_DFL);
+#endif
+#ifdef SIGXFSZ
+ PyOS_setsig(SIGXFSZ, SIG_DFL);
+#endif
+}
+
+
+/*
+ * The file descriptor fd is considered ``interactive'' if either
+ * a) isatty(fd) is TRUE, or
+ * b) the -i flag was given, and the filename associated with
+ * the descriptor is NULL or "<stdin>" or "???".
+ */
+int
+Py_FdIsInteractive(FILE *fp, const char *filename)
+{
+ if (isatty((int)fileno(fp)))
+ return 1;
+ if (!Py_InteractiveFlag)
+ return 0;
+ return (filename == NULL) ||
+ (strcmp(filename, "<stdin>") == 0) ||
+ (strcmp(filename, "???") == 0);
+}
+
+
+/* Wrappers around sigaction() or signal(). */
+
+PyOS_sighandler_t
+PyOS_getsig(int sig)
+{
+#ifdef HAVE_SIGACTION
+ struct sigaction context;
+ if (sigaction(sig, NULL, &context) == -1)
+ return SIG_ERR;
+ return context.sa_handler;
+#else
+ PyOS_sighandler_t handler;
+/* Special signal handling for the secure CRT in Visual Studio 2005 */
+#if defined(_MSC_VER) && _MSC_VER >= 1400
+ switch (sig) {
+ /* Only these signals are valid */
+ case SIGINT:
+ case SIGILL:
+ case SIGFPE:
+ case SIGSEGV:
+ case SIGTERM:
+ case SIGBREAK:
+ case SIGABRT:
+ break;
+ /* Don't call signal() with other values or it will assert */
+ default:
+ return SIG_ERR;
+ }
+#endif /* _MSC_VER && _MSC_VER >= 1400 */
+ handler = signal(sig, SIG_IGN);
+ if (handler != SIG_ERR)
+ signal(sig, handler);
+ return handler;
+#endif
+}
+
+/*
+ * All of the code in this function must only use async-signal-safe functions,
+ * listed at `man 7 signal` or
+ * http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html.
+ */
+PyOS_sighandler_t
+PyOS_setsig(int sig, PyOS_sighandler_t handler)
+{
+#ifdef HAVE_SIGACTION
+ /* Some code in Modules/signalmodule.c depends on sigaction() being
+ * used here if HAVE_SIGACTION is defined. Fix that if this code
+ * changes to invalidate that assumption.
+ */
+ struct sigaction context, ocontext;
+ context.sa_handler = handler;
+ sigemptyset(&context.sa_mask);
+ context.sa_flags = 0;
+ if (sigaction(sig, &context, &ocontext) == -1)
+ return SIG_ERR;
+ return ocontext.sa_handler;
+#else
+ PyOS_sighandler_t oldhandler;
+ oldhandler = signal(sig, handler);
+#ifdef HAVE_SIGINTERRUPT
+ siginterrupt(sig, 1);
+#endif
+ return oldhandler;
+#endif
+}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/Python/pystate.c b/Python/pystate.c
index 2ac2fd5..32a635c 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -403,7 +403,7 @@ tstate_delete_common(PyThreadState *tstate)
void
PyThreadState_Delete(PyThreadState *tstate)
{
- if (tstate == _Py_atomic_load_relaxed(&_PyThreadState_Current))
+ if (tstate == (PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current))
Py_FatalError("PyThreadState_Delete: tstate is still current");
#ifdef WITH_THREAD
if (autoInterpreterState && PyThread_get_key_value(autoTLSkey) == tstate)
@@ -662,7 +662,7 @@ PyThreadState_IsCurrent(PyThreadState *tstate)
{
/* Must be the tstate for this thread */
assert(PyGILState_GetThisThreadState()==tstate);
- return tstate == _Py_atomic_load_relaxed(&_PyThreadState_Current);
+ return tstate == (PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current);
}
/* Internal initialization/finalization functions called by
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 0327830..992a5a3 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -15,6 +15,7 @@
#include "ast.h"
#include "marshal.h"
#include "osdefs.h"
+#include <locale.h>
#ifdef HAVE_SIGNAL_H
#include <signal.h>
@@ -25,18 +26,12 @@
#endif
#ifdef HAVE_LANGINFO_H
-#include <locale.h>
#include <langinfo.h>
#endif
#ifdef MS_WINDOWS
#undef BYTE
#include "windows.h"
-#define PATH_MAX MAXPATHLEN
-#endif
-
-#ifdef __gnu_hurd__
-#define PATH_MAX MAXPATHLEN
#endif
_Py_IDENTIFIER(builtins);
@@ -45,7 +40,6 @@ _Py_IDENTIFIER(flush);
_Py_IDENTIFIER(last_traceback);
_Py_IDENTIFIER(last_type);
_Py_IDENTIFIER(last_value);
-_Py_IDENTIFIER(name);
_Py_IDENTIFIER(ps1);
_Py_IDENTIFIER(ps2);
_Py_IDENTIFIER(stdin);
@@ -53,43 +47,13 @@ _Py_IDENTIFIER(stdout);
_Py_IDENTIFIER(stderr);
_Py_static_string(PyId_string, "<string>");
-#ifdef Py_REF_DEBUG
-static
-void _print_total_refs(void) {
- PyObject *xoptions, *value;
- _Py_IDENTIFIER(showrefcount);
-
- xoptions = PySys_GetXOptions();
- if (xoptions == NULL)
- return;
- value = _PyDict_GetItemId(xoptions, &PyId_showrefcount);
- if (value == Py_True)
- fprintf(stderr,
- "[%" PY_FORMAT_SIZE_T "d refs, "
- "%" PY_FORMAT_SIZE_T "d blocks]\n",
- _Py_GetRefTotal(), _Py_GetAllocatedBlocks());
-}
-#endif
-
-#ifndef Py_REF_DEBUG
-#define PRINT_TOTAL_REFS()
-#else /* Py_REF_DEBUG */
-#define PRINT_TOTAL_REFS() _print_total_refs()
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif
-extern wchar_t *Py_GetPath(void);
-
extern grammar _PyParser_Grammar; /* From graminit.c */
/* Forward */
-static void initmain(PyInterpreterState *interp);
-static int initfsencoding(PyInterpreterState *interp);
-static void initsite(void);
-static int initstdio(void);
static void flush_io(void);
static PyObject *run_mod(mod_ty, PyObject *, PyObject *, PyObject *,
PyCompilerFlags *, PyArena *);
@@ -97,1182 +61,6 @@ static PyObject *run_pyc_file(FILE *, const char *, PyObject *, PyObject *,
PyCompilerFlags *);
static void err_input(perrdetail *);
static void err_free(perrdetail *);
-static void initsigs(void);
-static void call_py_exitfuncs(void);
-static void wait_for_thread_shutdown(void);
-static void call_ll_exitfuncs(void);
-extern int _PyUnicode_Init(void);
-extern int _PyStructSequence_Init(void);
-extern void _PyUnicode_Fini(void);
-extern int _PyLong_Init(void);
-extern void PyLong_Fini(void);
-extern int _PyFaulthandler_Init(void);
-extern void _PyFaulthandler_Fini(void);
-extern void _PyHash_Fini(void);
-extern int _PyTraceMalloc_Init(void);
-extern int _PyTraceMalloc_Fini(void);
-
-#ifdef WITH_THREAD
-extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *);
-extern void _PyGILState_Fini(void);
-#endif /* WITH_THREAD */
-
-int Py_DebugFlag; /* Needed by parser.c */
-int Py_VerboseFlag; /* Needed by import.c */
-int Py_QuietFlag; /* Needed by sysmodule.c */
-int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
-int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
-int Py_NoSiteFlag; /* Suppress 'import site' */
-int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
-int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.py[co]) */
-int Py_UseClassExceptionsFlag = 1; /* Needed by bltinmodule.c: deprecated */
-int Py_FrozenFlag; /* Needed by getpath.c */
-int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
-int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
-int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
-int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */
-int Py_IsolatedFlag = 0; /* for -I, isolate from user's env */
-
-PyThreadState *_Py_Finalizing = NULL;
-
-/* Hack to force loading of object files */
-int (*_PyOS_mystrnicmp_hack)(const char *, const char *, Py_ssize_t) = \
- PyOS_mystrnicmp; /* Python/pystrcmp.o */
-
-/* PyModule_GetWarningsModule is no longer necessary as of 2.6
-since _warnings is builtin. This API should not be used. */
-PyObject *
-PyModule_GetWarningsModule(void)
-{
- return PyImport_ImportModule("warnings");
-}
-
-static int initialized = 0;
-
-/* API to access the initialized flag -- useful for esoteric use */
-
-int
-Py_IsInitialized(void)
-{
- return initialized;
-}
-
-/* Helper to allow an embedding application to override the normal
- * mechanism that attempts to figure out an appropriate IO encoding
- */
-
-static char *_Py_StandardStreamEncoding = NULL;
-static char *_Py_StandardStreamErrors = NULL;
-
-int
-Py_SetStandardStreamEncoding(const char *encoding, const char *errors)
-{
- if (Py_IsInitialized()) {
- /* This is too late to have any effect */
- return -1;
- }
- /* Can't call PyErr_NoMemory() on errors, as Python hasn't been
- * initialised yet.
- *
- * However, the raw memory allocators are initialised appropriately
- * as C static variables, so _PyMem_RawStrdup is OK even though
- * Py_Initialize hasn't been called yet.
- */
- if (encoding) {
- _Py_StandardStreamEncoding = _PyMem_RawStrdup(encoding);
- if (!_Py_StandardStreamEncoding) {
- return -2;
- }
- }
- if (errors) {
- _Py_StandardStreamErrors = _PyMem_RawStrdup(errors);
- if (!_Py_StandardStreamErrors) {
- if (_Py_StandardStreamEncoding) {
- PyMem_RawFree(_Py_StandardStreamEncoding);
- }
- return -3;
- }
- }
- return 0;
-}
-
-/* Global initializations. Can be undone by Py_Finalize(). Don't
- call this twice without an intervening Py_Finalize() call. When
- initializations fail, a fatal error is issued and the function does
- not return. On return, the first thread and interpreter state have
- been created.
-
- Locking: you must hold the interpreter lock while calling this.
- (If the lock has not yet been initialized, that's equivalent to
- having the lock, but you cannot use multiple threads.)
-
-*/
-
-static int
-add_flag(int flag, const char *envs)
-{
- int env = atoi(envs);
- if (flag < env)
- flag = env;
- if (flag < 1)
- flag = 1;
- return flag;
-}
-
-static char*
-get_codec_name(const char *encoding)
-{
- char *name_utf8, *name_str;
- PyObject *codec, *name = NULL;
-
- codec = _PyCodec_Lookup(encoding);
- if (!codec)
- goto error;
-
- name = _PyObject_GetAttrId(codec, &PyId_name);
- Py_CLEAR(codec);
- if (!name)
- goto error;
-
- name_utf8 = _PyUnicode_AsString(name);
- if (name_utf8 == NULL)
- goto error;
- name_str = _PyMem_RawStrdup(name_utf8);
- Py_DECREF(name);
- if (name_str == NULL) {
- PyErr_NoMemory();
- return NULL;
- }
- return name_str;
-
-error:
- Py_XDECREF(codec);
- Py_XDECREF(name);
- return NULL;
-}
-
-static char*
-get_locale_encoding(void)
-{
-#ifdef MS_WINDOWS
- char codepage[100];
- PyOS_snprintf(codepage, sizeof(codepage), "cp%d", GetACP());
- return get_codec_name(codepage);
-#elif defined(HAVE_LANGINFO_H) && defined(CODESET)
- char* codeset = nl_langinfo(CODESET);
- if (!codeset || codeset[0] == '\0') {
- PyErr_SetString(PyExc_ValueError, "CODESET is not set or empty");
- return NULL;
- }
- return get_codec_name(codeset);
-#else
- PyErr_SetNone(PyExc_NotImplementedError);
- return NULL;
-#endif
-}
-
-static void
-import_init(PyInterpreterState *interp, PyObject *sysmod)
-{
- PyObject *importlib;
- PyObject *impmod;
- PyObject *sys_modules;
- PyObject *value;
-
- /* Import _importlib through its frozen version, _frozen_importlib. */
- if (PyImport_ImportFrozenModule("_frozen_importlib") <= 0) {
- Py_FatalError("Py_Initialize: can't import _frozen_importlib");
- }
- else if (Py_VerboseFlag) {
- PySys_FormatStderr("import _frozen_importlib # frozen\n");
- }
- importlib = PyImport_AddModule("_frozen_importlib");
- if (importlib == NULL) {
- Py_FatalError("Py_Initialize: couldn't get _frozen_importlib from "
- "sys.modules");
- }
- interp->importlib = importlib;
- Py_INCREF(interp->importlib);
-
- /* Install _importlib as __import__ */
- impmod = PyInit_imp();
- if (impmod == NULL) {
- Py_FatalError("Py_Initialize: can't import imp");
- }
- else if (Py_VerboseFlag) {
- PySys_FormatStderr("import imp # builtin\n");
- }
- sys_modules = PyImport_GetModuleDict();
- if (Py_VerboseFlag) {
- PySys_FormatStderr("import sys # builtin\n");
- }
- if (PyDict_SetItemString(sys_modules, "_imp", impmod) < 0) {
- Py_FatalError("Py_Initialize: can't save _imp to sys.modules");
- }
-
- value = PyObject_CallMethod(importlib, "_install", "OO", sysmod, impmod);
- if (value == NULL) {
- PyErr_Print();
- Py_FatalError("Py_Initialize: importlib install failed");
- }
- Py_DECREF(value);
- Py_DECREF(impmod);
-
- _PyImportZip_Init();
-}
-
-
-void
-_Py_InitializeEx_Private(int install_sigs, int install_importlib)
-{
- PyInterpreterState *interp;
- PyThreadState *tstate;
- PyObject *bimod, *sysmod, *pstderr;
- char *p;
- extern void _Py_ReadyTypes(void);
-
- if (initialized)
- return;
- initialized = 1;
- _Py_Finalizing = NULL;
-
-#if defined(HAVE_LANGINFO_H) && defined(HAVE_SETLOCALE)
- /* Set up the LC_CTYPE locale, so we can obtain
- the locale's charset without having to switch
- locales. */
- setlocale(LC_CTYPE, "");
-#endif
-
- if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
- Py_DebugFlag = add_flag(Py_DebugFlag, p);
- if ((p = Py_GETENV("PYTHONVERBOSE")) && *p != '\0')
- Py_VerboseFlag = add_flag(Py_VerboseFlag, p);
- if ((p = Py_GETENV("PYTHONOPTIMIZE")) && *p != '\0')
- Py_OptimizeFlag = add_flag(Py_OptimizeFlag, p);
- if ((p = Py_GETENV("PYTHONDONTWRITEBYTECODE")) && *p != '\0')
- Py_DontWriteBytecodeFlag = add_flag(Py_DontWriteBytecodeFlag, p);
- /* The variable is only tested for existence here; _PyRandom_Init will
- check its value further. */
- if ((p = Py_GETENV("PYTHONHASHSEED")) && *p != '\0')
- Py_HashRandomizationFlag = add_flag(Py_HashRandomizationFlag, p);
-
- _PyRandom_Init();
-
- interp = PyInterpreterState_New();
- if (interp == NULL)
- Py_FatalError("Py_Initialize: can't make first interpreter");
-
- tstate = PyThreadState_New(interp);
- if (tstate == NULL)
- Py_FatalError("Py_Initialize: can't make first thread");
- (void) PyThreadState_Swap(tstate);
-
-#ifdef WITH_THREAD
- /* We can't call _PyEval_FiniThreads() in Py_Finalize because
- destroying the GIL might fail when it is being referenced from
- another running thread (see issue #9901).
- Instead we destroy the previously created GIL here, which ensures
- that we can call Py_Initialize / Py_Finalize multiple times. */
- _PyEval_FiniThreads();
-
- /* Auto-thread-state API */
- _PyGILState_Init(interp, tstate);
-#endif /* WITH_THREAD */
-
- _Py_ReadyTypes();
-
- if (!_PyFrame_Init())
- Py_FatalError("Py_Initialize: can't init frames");
-
- if (!_PyLong_Init())
- Py_FatalError("Py_Initialize: can't init longs");
-
- if (!PyByteArray_Init())
- Py_FatalError("Py_Initialize: can't init bytearray");
-
- if (!_PyFloat_Init())
- Py_FatalError("Py_Initialize: can't init float");
-
- interp->modules = PyDict_New();
- if (interp->modules == NULL)
- Py_FatalError("Py_Initialize: can't make modules dictionary");
-
- /* Init Unicode implementation; relies on the codec registry */
- if (_PyUnicode_Init() < 0)
- Py_FatalError("Py_Initialize: can't initialize unicode");
- if (_PyStructSequence_Init() < 0)
- Py_FatalError("Py_Initialize: can't initialize structseq");
-
- bimod = _PyBuiltin_Init();
- if (bimod == NULL)
- Py_FatalError("Py_Initialize: can't initialize builtins modules");
- _PyImport_FixupBuiltin(bimod, "builtins");
- interp->builtins = PyModule_GetDict(bimod);
- if (interp->builtins == NULL)
- Py_FatalError("Py_Initialize: can't initialize builtins dict");
- Py_INCREF(interp->builtins);
-
- /* initialize builtin exceptions */
- _PyExc_Init(bimod);
-
- sysmod = _PySys_Init();
- if (sysmod == NULL)
- Py_FatalError("Py_Initialize: can't initialize sys");
- interp->sysdict = PyModule_GetDict(sysmod);
- if (interp->sysdict == NULL)
- Py_FatalError("Py_Initialize: can't initialize sys dict");
- Py_INCREF(interp->sysdict);
- _PyImport_FixupBuiltin(sysmod, "sys");
- PySys_SetPath(Py_GetPath());
- PyDict_SetItemString(interp->sysdict, "modules",
- interp->modules);
-
- /* Set up a preliminary stderr printer until we have enough
- infrastructure for the io module in place. */
- pstderr = PyFile_NewStdPrinter(fileno(stderr));
- if (pstderr == NULL)
- Py_FatalError("Py_Initialize: can't set preliminary stderr");
- _PySys_SetObjectId(&PyId_stderr, pstderr);
- PySys_SetObject("__stderr__", pstderr);
- Py_DECREF(pstderr);
-
- _PyImport_Init();
-
- _PyImportHooks_Init();
-
- /* Initialize _warnings. */
- _PyWarnings_Init();
-
- if (!install_importlib)
- return;
-
- import_init(interp, sysmod);
-
- /* initialize the faulthandler module */
- if (_PyFaulthandler_Init())
- Py_FatalError("Py_Initialize: can't initialize faulthandler");
-
- _PyTime_Init();
-
- if (initfsencoding(interp) < 0)
- Py_FatalError("Py_Initialize: unable to load the file system codec");
-
- if (install_sigs)
- initsigs(); /* Signal handling stuff, including initintr() */
-
- if (_PyTraceMalloc_Init() < 0)
- Py_FatalError("Py_Initialize: can't initialize tracemalloc");
-
- initmain(interp); /* Module __main__ */
- if (initstdio() < 0)
- Py_FatalError(
- "Py_Initialize: can't initialize sys standard streams");
-
- /* Initialize warnings. */
- if (PySys_HasWarnOptions()) {
- PyObject *warnings_module = PyImport_ImportModule("warnings");
- if (warnings_module == NULL) {
- fprintf(stderr, "'import warnings' failed; traceback:\n");
- PyErr_Print();
- }
- Py_XDECREF(warnings_module);
- }
-
- if (!Py_NoSiteFlag)
- initsite(); /* Module site */
-}
-
-void
-Py_InitializeEx(int install_sigs)
-{
- _Py_InitializeEx_Private(install_sigs, 1);
-}
-
-void
-Py_Initialize(void)
-{
- Py_InitializeEx(1);
-}
-
-
-#ifdef COUNT_ALLOCS
-extern void dump_counts(FILE*);
-#endif
-
-/* Flush stdout and stderr */
-
-static int
-file_is_closed(PyObject *fobj)
-{
- int r;
- PyObject *tmp = PyObject_GetAttrString(fobj, "closed");
- if (tmp == NULL) {
- PyErr_Clear();
- return 0;
- }
- r = PyObject_IsTrue(tmp);
- Py_DECREF(tmp);
- if (r < 0)
- PyErr_Clear();
- return r > 0;
-}
-
-static void
-flush_std_files(void)
-{
- PyObject *fout = _PySys_GetObjectId(&PyId_stdout);
- PyObject *ferr = _PySys_GetObjectId(&PyId_stderr);
- PyObject *tmp;
-
- if (fout != NULL && fout != Py_None && !file_is_closed(fout)) {
- tmp = _PyObject_CallMethodId(fout, &PyId_flush, "");
- if (tmp == NULL)
- PyErr_WriteUnraisable(fout);
- else
- Py_DECREF(tmp);
- }
-
- if (ferr != NULL && ferr != Py_None && !file_is_closed(ferr)) {
- tmp = _PyObject_CallMethodId(ferr, &PyId_flush, "");
- if (tmp == NULL)
- PyErr_Clear();
- else
- Py_DECREF(tmp);
- }
-}
-
-/* Undo the effect of Py_Initialize().
-
- Beware: if multiple interpreter and/or thread states exist, these
- are not wiped out; only the current thread and interpreter state
- are deleted. But since everything else is deleted, those other
- interpreter and thread states should no longer be used.
-
- (XXX We should do better, e.g. wipe out all interpreters and
- threads.)
-
- Locking: as above.
-
-*/
-
-void
-Py_Finalize(void)
-{
- PyInterpreterState *interp;
- PyThreadState *tstate;
-
- if (!initialized)
- return;
-
- wait_for_thread_shutdown();
-
- /* The interpreter is still entirely intact at this point, and the
- * exit funcs may be relying on that. In particular, if some thread
- * or exit func is still waiting to do an import, the import machinery
- * expects Py_IsInitialized() to return true. So don't say the
- * interpreter is uninitialized until after the exit funcs have run.
- * Note that Threading.py uses an exit func to do a join on all the
- * threads created thru it, so this also protects pending imports in
- * the threads created via Threading.
- */
- call_py_exitfuncs();
-
- /* Get current thread state and interpreter pointer */
- tstate = PyThreadState_GET();
- interp = tstate->interp;
-
- /* Remaining threads (e.g. daemon threads) will automatically exit
- after taking the GIL (in PyEval_RestoreThread()). */
- _Py_Finalizing = tstate;
- initialized = 0;
-
- /* Flush stdout+stderr */
- flush_std_files();
-
- /* Disable signal handling */
- PyOS_FiniInterrupts();
-
- /* Collect garbage. This may call finalizers; it's nice to call these
- * before all modules are destroyed.
- * XXX If a __del__ or weakref callback is triggered here, and tries to
- * XXX import a module, bad things can happen, because Python no
- * XXX longer believes it's initialized.
- * XXX Fatal Python error: Interpreter not initialized (version mismatch?)
- * XXX is easy to provoke that way. I've also seen, e.g.,
- * XXX Exception exceptions.ImportError: 'No module named sha'
- * XXX in <function callback at 0x008F5718> ignored
- * XXX but I'm unclear on exactly how that one happens. In any case,
- * XXX I haven't seen a real-life report of either of these.
- */
- PyGC_Collect();
-#ifdef COUNT_ALLOCS
- /* With COUNT_ALLOCS, it helps to run GC multiple times:
- each collection might release some types from the type
- list, so they become garbage. */
- while (PyGC_Collect() > 0)
- /* nothing */;
-#endif
- /* Destroy all modules */
- PyImport_Cleanup();
-
- /* Flush stdout+stderr (again, in case more was printed) */
- flush_std_files();
-
- /* Collect final garbage. This disposes of cycles created by
- * class definitions, for example.
- * XXX This is disabled because it caused too many problems. If
- * XXX a __del__ or weakref callback triggers here, Python code has
- * XXX a hard time running, because even the sys module has been
- * XXX cleared out (sys.stdout is gone, sys.excepthook is gone, etc).
- * XXX One symptom is a sequence of information-free messages
- * XXX coming from threads (if a __del__ or callback is invoked,
- * XXX other threads can execute too, and any exception they encounter
- * XXX triggers a comedy of errors as subsystem after subsystem
- * XXX fails to find what it *expects* to find in sys to help report
- * XXX the exception and consequent unexpected failures). I've also
- * XXX seen segfaults then, after adding print statements to the
- * XXX Python code getting called.
- */
-#if 0
- PyGC_Collect();
-#endif
-
- /* Disable tracemalloc after all Python objects have been destroyed,
- so it is possible to use tracemalloc in objects destructor. */
- _PyTraceMalloc_Fini();
-
- /* Destroy the database used by _PyImport_{Fixup,Find}Extension */
- _PyImport_Fini();
-
- /* Cleanup typeobject.c's internal caches. */
- _PyType_Fini();
-
- /* unload faulthandler module */
- _PyFaulthandler_Fini();
-
- /* Debugging stuff */
-#ifdef COUNT_ALLOCS
- dump_counts(stdout);
-#endif
- /* dump hash stats */
- _PyHash_Fini();
-
- PRINT_TOTAL_REFS();
-
-#ifdef Py_TRACE_REFS
- /* Display all objects still alive -- this can invoke arbitrary
- * __repr__ overrides, so requires a mostly-intact interpreter.
- * Alas, a lot of stuff may still be alive now that will be cleaned
- * up later.
- */
- if (Py_GETENV("PYTHONDUMPREFS"))
- _Py_PrintReferences(stderr);
-#endif /* Py_TRACE_REFS */
-
- /* Clear interpreter state and all thread states. */
- PyInterpreterState_Clear(interp);
-
- /* Now we decref the exception classes. After this point nothing
- can raise an exception. That's okay, because each Fini() method
- below has been checked to make sure no exceptions are ever
- raised.
- */
-
- _PyExc_Fini();
-
- /* Sundry finalizers */
- PyMethod_Fini();
- PyFrame_Fini();
- PyCFunction_Fini();
- PyTuple_Fini();
- PyList_Fini();
- PySet_Fini();
- PyBytes_Fini();
- PyByteArray_Fini();
- PyLong_Fini();
- PyFloat_Fini();
- PyDict_Fini();
- PySlice_Fini();
- _PyGC_Fini();
- _PyRandom_Fini();
-
- /* Cleanup Unicode implementation */
- _PyUnicode_Fini();
-
- /* reset file system default encoding */
- if (!Py_HasFileSystemDefaultEncoding && Py_FileSystemDefaultEncoding) {
- PyMem_RawFree((char*)Py_FileSystemDefaultEncoding);
- Py_FileSystemDefaultEncoding = NULL;
- }
-
- /* XXX Still allocated:
- - various static ad-hoc pointers to interned strings
- - int and float free list blocks
- - whatever various modules and libraries allocate
- */
-
- PyGrammar_RemoveAccelerators(&_PyParser_Grammar);
-
- /* Cleanup auto-thread-state */
-#ifdef WITH_THREAD
- _PyGILState_Fini();
-#endif /* WITH_THREAD */
-
- /* Delete current thread. After this, many C API calls become crashy. */
- PyThreadState_Swap(NULL);
- PyInterpreterState_Delete(interp);
-
-#ifdef Py_TRACE_REFS
- /* Display addresses (& refcnts) of all objects still alive.
- * An address can be used to find the repr of the object, printed
- * above by _Py_PrintReferences.
- */
- if (Py_GETENV("PYTHONDUMPREFS"))
- _Py_PrintReferenceAddresses(stderr);
-#endif /* Py_TRACE_REFS */
-#ifdef PYMALLOC_DEBUG
- if (Py_GETENV("PYTHONMALLOCSTATS"))
- _PyObject_DebugMallocStats(stderr);
-#endif
-
- call_ll_exitfuncs();
-}
-
-/* Create and initialize a new interpreter and thread, and return the
- new thread. This requires that Py_Initialize() has been called
- first.
-
- Unsuccessful initialization yields a NULL pointer. Note that *no*
- exception information is available even in this case -- the
- exception information is held in the thread, and there is no
- thread.
-
- Locking: as above.
-
-*/
-
-PyThreadState *
-Py_NewInterpreter(void)
-{
- PyInterpreterState *interp;
- PyThreadState *tstate, *save_tstate;
- PyObject *bimod, *sysmod;
-
- if (!initialized)
- Py_FatalError("Py_NewInterpreter: call Py_Initialize first");
-
- interp = PyInterpreterState_New();
- if (interp == NULL)
- return NULL;
-
- tstate = PyThreadState_New(interp);
- if (tstate == NULL) {
- PyInterpreterState_Delete(interp);
- return NULL;
- }
-
- save_tstate = PyThreadState_Swap(tstate);
-
- /* XXX The following is lax in error checking */
-
- interp->modules = PyDict_New();
-
- bimod = _PyImport_FindBuiltin("builtins");
- if (bimod != NULL) {
- interp->builtins = PyModule_GetDict(bimod);
- if (interp->builtins == NULL)
- goto handle_error;
- Py_INCREF(interp->builtins);
- }
-
- /* initialize builtin exceptions */
- _PyExc_Init(bimod);
-
- sysmod = _PyImport_FindBuiltin("sys");
- if (bimod != NULL && sysmod != NULL) {
- PyObject *pstderr;
-
- interp->sysdict = PyModule_GetDict(sysmod);
- if (interp->sysdict == NULL)
- goto handle_error;
- Py_INCREF(interp->sysdict);
- PySys_SetPath(Py_GetPath());
- PyDict_SetItemString(interp->sysdict, "modules",
- interp->modules);
- /* Set up a preliminary stderr printer until we have enough
- infrastructure for the io module in place. */
- pstderr = PyFile_NewStdPrinter(fileno(stderr));
- if (pstderr == NULL)
- Py_FatalError("Py_Initialize: can't set preliminary stderr");
- _PySys_SetObjectId(&PyId_stderr, pstderr);
- PySys_SetObject("__stderr__", pstderr);
- Py_DECREF(pstderr);
-
- _PyImportHooks_Init();
-
- import_init(interp, sysmod);
-
- if (initfsencoding(interp) < 0)
- goto handle_error;
-
- if (initstdio() < 0)
- Py_FatalError(
- "Py_Initialize: can't initialize sys standard streams");
- initmain(interp);
- if (!Py_NoSiteFlag)
- initsite();
- }
-
- if (!PyErr_Occurred())
- return tstate;
-
-handle_error:
- /* Oops, it didn't work. Undo it all. */
-
- PyErr_PrintEx(0);
- PyThreadState_Clear(tstate);
- PyThreadState_Swap(save_tstate);
- PyThreadState_Delete(tstate);
- PyInterpreterState_Delete(interp);
-
- return NULL;
-}
-
-/* Delete an interpreter and its last thread. This requires that the
- given thread state is current, that the thread has no remaining
- frames, and that it is its interpreter's only remaining thread.
- It is a fatal error to violate these constraints.
-
- (Py_Finalize() doesn't have these constraints -- it zaps
- everything, regardless.)
-
- Locking: as above.
-
-*/
-
-void
-Py_EndInterpreter(PyThreadState *tstate)
-{
- PyInterpreterState *interp = tstate->interp;
-
- if (tstate != PyThreadState_GET())
- Py_FatalError("Py_EndInterpreter: thread is not current");
- if (tstate->frame != NULL)
- Py_FatalError("Py_EndInterpreter: thread still has a frame");
-
- wait_for_thread_shutdown();
-
- if (tstate != interp->tstate_head || tstate->next != NULL)
- Py_FatalError("Py_EndInterpreter: not the last thread");
-
- PyImport_Cleanup();
- PyInterpreterState_Clear(interp);
- PyThreadState_Swap(NULL);
- PyInterpreterState_Delete(interp);
-}
-
-#ifdef MS_WINDOWS
-static wchar_t *progname = L"python";
-#else
-static wchar_t *progname = L"python3";
-#endif
-
-void
-Py_SetProgramName(wchar_t *pn)
-{
- if (pn && *pn)
- progname = pn;
-}
-
-wchar_t *
-Py_GetProgramName(void)
-{
- return progname;
-}
-
-static wchar_t *default_home = NULL;
-static wchar_t env_home[MAXPATHLEN+1];
-
-void
-Py_SetPythonHome(wchar_t *home)
-{
- default_home = home;
-}
-
-wchar_t *
-Py_GetPythonHome(void)
-{
- wchar_t *home = default_home;
- if (home == NULL && !Py_IgnoreEnvironmentFlag) {
- char* chome = Py_GETENV("PYTHONHOME");
- if (chome) {
- size_t size = Py_ARRAY_LENGTH(env_home);
- size_t r = mbstowcs(env_home, chome, size);
- if (r != (size_t)-1 && r < size)
- home = env_home;
- }
-
- }
- return home;
-}
-
-/* Create __main__ module */
-
-static void
-initmain(PyInterpreterState *interp)
-{
- PyObject *m, *d, *loader;
- m = PyImport_AddModule("__main__");
- if (m == NULL)
- Py_FatalError("can't create __main__ module");
- d = PyModule_GetDict(m);
- if (PyDict_GetItemString(d, "__builtins__") == NULL) {
- PyObject *bimod = PyImport_ImportModule("builtins");
- if (bimod == NULL) {
- Py_FatalError("Failed to retrieve builtins module");
- }
- if (PyDict_SetItemString(d, "__builtins__", bimod) < 0) {
- Py_FatalError("Failed to initialize __main__.__builtins__");
- }
- Py_DECREF(bimod);
- }
- /* Main is a little special - imp.is_builtin("__main__") will return
- * False, but BuiltinImporter is still the most appropriate initial
- * setting for its __loader__ attribute. A more suitable value will
- * be set if __main__ gets further initialized later in the startup
- * process.
- */
- loader = PyDict_GetItemString(d, "__loader__");
- if (loader == NULL || loader == Py_None) {
- PyObject *loader = PyObject_GetAttrString(interp->importlib,
- "BuiltinImporter");
- if (loader == NULL) {
- Py_FatalError("Failed to retrieve BuiltinImporter");
- }
- if (PyDict_SetItemString(d, "__loader__", loader) < 0) {
- Py_FatalError("Failed to initialize __main__.__loader__");
- }
- Py_DECREF(loader);
- }
-}
-
-static int
-initfsencoding(PyInterpreterState *interp)
-{
- PyObject *codec;
-
- if (Py_FileSystemDefaultEncoding == NULL)
- {
- Py_FileSystemDefaultEncoding = get_locale_encoding();
- if (Py_FileSystemDefaultEncoding == NULL)
- Py_FatalError("Py_Initialize: Unable to get the locale encoding");
-
- Py_HasFileSystemDefaultEncoding = 0;
- interp->fscodec_initialized = 1;
- return 0;
- }
-
- /* the encoding is mbcs, utf-8 or ascii */
- codec = _PyCodec_Lookup(Py_FileSystemDefaultEncoding);
- if (!codec) {
- /* Such error can only occurs in critical situations: no more
- * memory, import a module of the standard library failed,
- * etc. */
- return -1;
- }
- Py_DECREF(codec);
- interp->fscodec_initialized = 1;
- return 0;
-}
-
-/* Import the site module (not into __main__ though) */
-
-static void
-initsite(void)
-{
- PyObject *m;
- m = PyImport_ImportModule("site");
- if (m == NULL) {
- fprintf(stderr, "Failed to import the site module\n");
- PyErr_Print();
- Py_Finalize();
- exit(1);
- }
- else {
- Py_DECREF(m);
- }
-}
-
-static PyObject*
-create_stdio(PyObject* io,
- int fd, int write_mode, char* name,
- char* encoding, char* errors)
-{
- PyObject *buf = NULL, *stream = NULL, *text = NULL, *raw = NULL, *res;
- const char* mode;
- const char* newline;
- PyObject *line_buffering;
- int buffering, isatty;
- _Py_IDENTIFIER(open);
- _Py_IDENTIFIER(isatty);
- _Py_IDENTIFIER(TextIOWrapper);
- _Py_IDENTIFIER(mode);
-
- /* stdin is always opened in buffered mode, first because it shouldn't
- make a difference in common use cases, second because TextIOWrapper
- depends on the presence of a read1() method which only exists on
- buffered streams.
- */
- if (Py_UnbufferedStdioFlag && write_mode)
- buffering = 0;
- else
- buffering = -1;
- if (write_mode)
- mode = "wb";
- else
- mode = "rb";
- buf = _PyObject_CallMethodId(io, &PyId_open, "isiOOOi",
- fd, mode, buffering,
- Py_None, Py_None, Py_None, 0);
- if (buf == NULL)
- goto error;
-
- if (buffering) {
- _Py_IDENTIFIER(raw);
- raw = _PyObject_GetAttrId(buf, &PyId_raw);
- if (raw == NULL)
- goto error;
- }
- else {
- raw = buf;
- Py_INCREF(raw);
- }
-
- text = PyUnicode_FromString(name);
- if (text == NULL || _PyObject_SetAttrId(raw, &PyId_name, text) < 0)
- goto error;
- res = _PyObject_CallMethodId(raw, &PyId_isatty, "");
- if (res == NULL)
- goto error;
- isatty = PyObject_IsTrue(res);
- Py_DECREF(res);
- if (isatty == -1)
- goto error;
- if (isatty || Py_UnbufferedStdioFlag)
- line_buffering = Py_True;
- else
- line_buffering = Py_False;
-
- Py_CLEAR(raw);
- Py_CLEAR(text);
-
-#ifdef MS_WINDOWS
- /* sys.stdin: enable universal newline mode, translate "\r\n" and "\r"
- newlines to "\n".
- sys.stdout and sys.stderr: translate "\n" to "\r\n". */
- newline = NULL;
-#else
- /* sys.stdin: split lines at "\n".
- sys.stdout and sys.stderr: don't translate newlines (use "\n"). */
- newline = "\n";
-#endif
-
- stream = _PyObject_CallMethodId(io, &PyId_TextIOWrapper, "OsssO",
- buf, encoding, errors,
- newline, line_buffering);
- Py_CLEAR(buf);
- if (stream == NULL)
- goto error;
-
- if (write_mode)
- mode = "w";
- else
- mode = "r";
- text = PyUnicode_FromString(mode);
- if (!text || _PyObject_SetAttrId(stream, &PyId_mode, text) < 0)
- goto error;
- Py_CLEAR(text);
- return stream;
-
-error:
- Py_XDECREF(buf);
- Py_XDECREF(stream);
- Py_XDECREF(text);
- Py_XDECREF(raw);
- return NULL;
-}
-
-static int
-is_valid_fd(int fd)
-{
- int dummy_fd;
- if (fd < 0 || !_PyVerify_fd(fd))
- return 0;
- dummy_fd = dup(fd);
- if (dummy_fd < 0)
- return 0;
- close(dummy_fd);
- return 1;
-}
-
-/* Initialize sys.stdin, stdout, stderr and builtins.open */
-static int
-initstdio(void)
-{
- PyObject *iomod = NULL, *wrapper;
- PyObject *bimod = NULL;
- PyObject *m;
- PyObject *std = NULL;
- int status = 0, fd;
- PyObject * encoding_attr;
- char *pythonioencoding = NULL, *encoding, *errors;
-
- /* Hack to avoid a nasty recursion issue when Python is invoked
- in verbose mode: pre-import the Latin-1 and UTF-8 codecs */
- if ((m = PyImport_ImportModule("encodings.utf_8")) == NULL) {
- goto error;
- }
- Py_DECREF(m);
-
- if (!(m = PyImport_ImportModule("encodings.latin_1"))) {
- goto error;
- }
- Py_DECREF(m);
-
- if (!(bimod = PyImport_ImportModule("builtins"))) {
- goto error;
- }
-
- if (!(iomod = PyImport_ImportModule("io"))) {
- goto error;
- }
- if (!(wrapper = PyObject_GetAttrString(iomod, "OpenWrapper"))) {
- goto error;
- }
-
- /* Set builtins.open */
- if (PyObject_SetAttrString(bimod, "open", wrapper) == -1) {
- Py_DECREF(wrapper);
- goto error;
- }
- Py_DECREF(wrapper);
-
- encoding = _Py_StandardStreamEncoding;
- errors = _Py_StandardStreamErrors;
- if (!encoding || !errors) {
- pythonioencoding = Py_GETENV("PYTHONIOENCODING");
- if (pythonioencoding) {
- char *err;
- pythonioencoding = _PyMem_Strdup(pythonioencoding);
- if (pythonioencoding == NULL) {
- PyErr_NoMemory();
- goto error;
- }
- err = strchr(pythonioencoding, ':');
- if (err) {
- *err = '\0';
- err++;
- if (*err && !errors) {
- errors = err;
- }
- }
- if (*pythonioencoding && !encoding) {
- encoding = pythonioencoding;
- }
- }
- }
-
- /* Set sys.stdin */
- fd = fileno(stdin);
- /* Under some conditions stdin, stdout and stderr may not be connected
- * and fileno() may point to an invalid file descriptor. For example
- * GUI apps don't have valid standard streams by default.
- */
- if (!is_valid_fd(fd)) {
- std = Py_None;
- Py_INCREF(std);
- }
- else {
- std = create_stdio(iomod, fd, 0, "<stdin>", encoding, errors);
- if (std == NULL)
- goto error;
- } /* if (fd < 0) */
- PySys_SetObject("__stdin__", std);
- _PySys_SetObjectId(&PyId_stdin, std);
- Py_DECREF(std);
-
- /* Set sys.stdout */
- fd = fileno(stdout);
- if (!is_valid_fd(fd)) {
- std = Py_None;
- Py_INCREF(std);
- }
- else {
- std = create_stdio(iomod, fd, 1, "<stdout>", encoding, errors);
- if (std == NULL)
- goto error;
- } /* if (fd < 0) */
- PySys_SetObject("__stdout__", std);
- _PySys_SetObjectId(&PyId_stdout, std);
- Py_DECREF(std);
-
-#if 1 /* Disable this if you have trouble debugging bootstrap stuff */
- /* Set sys.stderr, replaces the preliminary stderr */
- fd = fileno(stderr);
- if (!is_valid_fd(fd)) {
- std = Py_None;
- Py_INCREF(std);
- }
- else {
- std = create_stdio(iomod, fd, 1, "<stderr>", encoding, "backslashreplace");
- if (std == NULL)
- goto error;
- } /* if (fd < 0) */
-
- /* Same as hack above, pre-import stderr's codec to avoid recursion
- when import.c tries to write to stderr in verbose mode. */
- encoding_attr = PyObject_GetAttrString(std, "encoding");
- if (encoding_attr != NULL) {
- const char * std_encoding;
- std_encoding = _PyUnicode_AsString(encoding_attr);
- if (std_encoding != NULL) {
- PyObject *codec_info = _PyCodec_Lookup(std_encoding);
- Py_XDECREF(codec_info);
- }
- Py_DECREF(encoding_attr);
- }
- PyErr_Clear(); /* Not a fatal error if codec isn't available */
-
- if (PySys_SetObject("__stderr__", std) < 0) {
- Py_DECREF(std);
- goto error;
- }
- if (_PySys_SetObjectId(&PyId_stderr, std) < 0) {
- Py_DECREF(std);
- goto error;
- }
- Py_DECREF(std);
-#endif
-
- if (0) {
- error:
- status = -1;
- }
-
- /* We won't need them anymore. */
- if (_Py_StandardStreamEncoding) {
- PyMem_RawFree(_Py_StandardStreamEncoding);
- _Py_StandardStreamEncoding = NULL;
- }
- if (_Py_StandardStreamErrors) {
- PyMem_RawFree(_Py_StandardStreamErrors);
- _Py_StandardStreamErrors = NULL;
- }
- PyMem_Free(pythonioencoding);
- Py_XDECREF(bimod);
- Py_XDECREF(iomod);
- return status;
-}
/* Parse input from a file and execute it */
@@ -1322,7 +110,7 @@ PyRun_InteractiveLoopFlags(FILE *fp, const char *filename_str, PyCompilerFlags *
err = -1;
for (;;) {
ret = PyRun_InteractiveOneObject(fp, filename, flags);
- PRINT_TOTAL_REFS();
+ _PY_DEBUG_PRINT_TOTAL_REFS();
if (ret == E_EOF) {
err = 0;
break;
@@ -1729,7 +517,7 @@ print_error_text(PyObject *f, int offset, PyObject *text_obj)
return;
if (offset >= 0) {
- if (offset > 0 && offset == strlen(text) && text[offset - 1] == '\n')
+ if (offset > 0 && (size_t)offset == strlen(text) && text[offset - 1] == '\n')
offset--;
for (;;) {
nl = strchr(text, '\n');
@@ -2587,192 +1375,6 @@ cleanup:
}
}
-/* Print fatal error message and abort */
-
-void
-Py_FatalError(const char *msg)
-{
- const int fd = fileno(stderr);
- PyThreadState *tstate;
-
- fprintf(stderr, "Fatal Python error: %s\n", msg);
- fflush(stderr); /* it helps in Windows debug build */
- if (PyErr_Occurred()) {
- PyErr_PrintEx(0);
- }
- else {
- tstate = _Py_atomic_load_relaxed(&_PyThreadState_Current);
- if (tstate != NULL) {
- fputc('\n', stderr);
- fflush(stderr);
- _Py_DumpTracebackThreads(fd, tstate->interp, tstate);
- }
- _PyFaulthandler_Fini();
- }
-
-#ifdef MS_WINDOWS
- {
- size_t len = strlen(msg);
- WCHAR* buffer;
- size_t i;
-
- /* Convert the message to wchar_t. This uses a simple one-to-one
- conversion, assuming that the this error message actually uses ASCII
- only. If this ceases to be true, we will have to convert. */
- buffer = alloca( (len+1) * (sizeof *buffer));
- for( i=0; i<=len; ++i)
- buffer[i] = msg[i];
- OutputDebugStringW(L"Fatal Python error: ");
- OutputDebugStringW(buffer);
- OutputDebugStringW(L"\n");
- }
-#ifdef _DEBUG
- DebugBreak();
-#endif
-#endif /* MS_WINDOWS */
- abort();
-}
-
-/* Clean up and exit */
-
-#ifdef WITH_THREAD
-#include "pythread.h"
-#endif
-
-static void (*pyexitfunc)(void) = NULL;
-/* For the atexit module. */
-void _Py_PyAtExit(void (*func)(void))
-{
- pyexitfunc = func;
-}
-
-static void
-call_py_exitfuncs(void)
-{
- if (pyexitfunc == NULL)
- return;
-
- (*pyexitfunc)();
- PyErr_Clear();
-}
-
-/* Wait until threading._shutdown completes, provided
- the threading module was imported in the first place.
- The shutdown routine will wait until all non-daemon
- "threading" threads have completed. */
-static void
-wait_for_thread_shutdown(void)
-{
-#ifdef WITH_THREAD
- _Py_IDENTIFIER(_shutdown);
- PyObject *result;
- PyThreadState *tstate = PyThreadState_GET();
- PyObject *threading = PyMapping_GetItemString(tstate->interp->modules,
- "threading");
- if (threading == NULL) {
- /* threading not imported */
- PyErr_Clear();
- return;
- }
- result = _PyObject_CallMethodId(threading, &PyId__shutdown, "");
- if (result == NULL) {
- PyErr_WriteUnraisable(threading);
- }
- else {
- Py_DECREF(result);
- }
- Py_DECREF(threading);
-#endif
-}
-
-#define NEXITFUNCS 32
-static void (*exitfuncs[NEXITFUNCS])(void);
-static int nexitfuncs = 0;
-
-int Py_AtExit(void (*func)(void))
-{
- if (nexitfuncs >= NEXITFUNCS)
- return -1;
- exitfuncs[nexitfuncs++] = func;
- return 0;
-}
-
-static void
-call_ll_exitfuncs(void)
-{
- while (nexitfuncs > 0)
- (*exitfuncs[--nexitfuncs])();
-
- fflush(stdout);
- fflush(stderr);
-}
-
-void
-Py_Exit(int sts)
-{
- Py_Finalize();
-
- exit(sts);
-}
-
-static void
-initsigs(void)
-{
-#ifdef SIGPIPE
- PyOS_setsig(SIGPIPE, SIG_IGN);
-#endif
-#ifdef SIGXFZ
- PyOS_setsig(SIGXFZ, SIG_IGN);
-#endif
-#ifdef SIGXFSZ
- PyOS_setsig(SIGXFSZ, SIG_IGN);
-#endif
- PyOS_InitInterrupts(); /* May imply initsignal() */
- if (PyErr_Occurred()) {
- Py_FatalError("Py_Initialize: can't import signal");
- }
-}
-
-
-/* Restore signals that the interpreter has called SIG_IGN on to SIG_DFL.
- *
- * All of the code in this function must only use async-signal-safe functions,
- * listed at `man 7 signal` or
- * http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html.
- */
-void
-_Py_RestoreSignals(void)
-{
-#ifdef SIGPIPE
- PyOS_setsig(SIGPIPE, SIG_DFL);
-#endif
-#ifdef SIGXFZ
- PyOS_setsig(SIGXFZ, SIG_DFL);
-#endif
-#ifdef SIGXFSZ
- PyOS_setsig(SIGXFSZ, SIG_DFL);
-#endif
-}
-
-
-/*
- * The file descriptor fd is considered ``interactive'' if either
- * a) isatty(fd) is TRUE, or
- * b) the -i flag was given, and the filename associated with
- * the descriptor is NULL or "<stdin>" or "???".
- */
-int
-Py_FdIsInteractive(FILE *fp, const char *filename)
-{
- if (isatty((int)fileno(fp)))
- return 1;
- if (!Py_InteractiveFlag)
- return 0;
- return (filename == NULL) ||
- (strcmp(filename, "<stdin>") == 0) ||
- (strcmp(filename, "???") == 0);
-}
-
#if defined(USE_STACKCHECK)
#if defined(WIN32) && defined(_MSC_VER)
@@ -2811,73 +1413,6 @@ PyOS_CheckStack(void)
#endif /* USE_STACKCHECK */
-
-/* Wrappers around sigaction() or signal(). */
-
-PyOS_sighandler_t
-PyOS_getsig(int sig)
-{
-#ifdef HAVE_SIGACTION
- struct sigaction context;
- if (sigaction(sig, NULL, &context) == -1)
- return SIG_ERR;
- return context.sa_handler;
-#else
- PyOS_sighandler_t handler;
-/* Special signal handling for the secure CRT in Visual Studio 2005 */
-#if defined(_MSC_VER) && _MSC_VER >= 1400
- switch (sig) {
- /* Only these signals are valid */
- case SIGINT:
- case SIGILL:
- case SIGFPE:
- case SIGSEGV:
- case SIGTERM:
- case SIGBREAK:
- case SIGABRT:
- break;
- /* Don't call signal() with other values or it will assert */
- default:
- return SIG_ERR;
- }
-#endif /* _MSC_VER && _MSC_VER >= 1400 */
- handler = signal(sig, SIG_IGN);
- if (handler != SIG_ERR)
- signal(sig, handler);
- return handler;
-#endif
-}
-
-/*
- * All of the code in this function must only use async-signal-safe functions,
- * listed at `man 7 signal` or
- * http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html.
- */
-PyOS_sighandler_t
-PyOS_setsig(int sig, PyOS_sighandler_t handler)
-{
-#ifdef HAVE_SIGACTION
- /* Some code in Modules/signalmodule.c depends on sigaction() being
- * used here if HAVE_SIGACTION is defined. Fix that if this code
- * changes to invalidate that assumption.
- */
- struct sigaction context, ocontext;
- context.sa_handler = handler;
- sigemptyset(&context.sa_mask);
- context.sa_flags = 0;
- if (sigaction(sig, &context, &ocontext) == -1)
- return SIG_ERR;
- return ocontext.sa_handler;
-#else
- PyOS_sighandler_t oldhandler;
- oldhandler = signal(sig, handler);
-#ifdef HAVE_SIGINTERRUPT
- siginterrupt(sig, 1);
-#endif
- return oldhandler;
-#endif
-}
-
/* Deprecated C API functions still provided for binary compatiblity */
#undef PyParser_SimpleParseFile
diff --git a/Python/pytime.c b/Python/pytime.c
index de6a41f..a8460c6 100644
--- a/Python/pytime.c
+++ b/Python/pytime.c
@@ -3,29 +3,24 @@
#include <windows.h>
#endif
-#if defined(__APPLE__) && defined(HAVE_GETTIMEOFDAY) && defined(HAVE_FTIME)
- /*
- * _PyTime_gettimeofday falls back to ftime when getttimeofday fails because the latter
- * might fail on some platforms. This fallback is unwanted on MacOSX because
- * that makes it impossible to use a binary build on OSX 10.4 on earlier
- * releases of the OS. Therefore claim we don't support ftime.
- */
-# undef HAVE_FTIME
+#if defined(__APPLE__)
+#include <mach/mach_time.h> /* mach_absolute_time(), mach_timebase_info() */
#endif
-#if defined(HAVE_FTIME) && !defined(MS_WINDOWS)
-#include <sys/timeb.h>
-extern int ftime(struct timeb *);
+#ifdef MS_WINDOWS
+static OSVERSIONINFOEX winver;
#endif
-static void
-pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info)
+static int
+pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise)
{
#ifdef MS_WINDOWS
FILETIME system_time;
ULARGE_INTEGER large;
ULONGLONG microseconds;
+ assert(info == NULL || raise);
+
GetSystemTimeAsFileTime(&system_time);
large.u.LowPart = system_time.dwLowDateTime;
large.u.HighPart = system_time.dwHighDateTime;
@@ -37,80 +32,244 @@ pygettimeofday(_PyTime_timeval *tp, _Py_clock_info_t *info)
tp->tv_usec = microseconds % 1000000;
if (info) {
DWORD timeAdjustment, timeIncrement;
- BOOL isTimeAdjustmentDisabled;
+ BOOL isTimeAdjustmentDisabled, ok;
info->implementation = "GetSystemTimeAsFileTime()";
info->monotonic = 0;
- (void) GetSystemTimeAdjustment(&timeAdjustment, &timeIncrement,
- &isTimeAdjustmentDisabled);
+ ok = GetSystemTimeAdjustment(&timeAdjustment, &timeIncrement,
+ &isTimeAdjustmentDisabled);
+ if (!ok) {
+ PyErr_SetFromWindowsErr(0);
+ return -1;
+ }
info->resolution = timeIncrement * 1e-7;
info->adjustable = 1;
}
-#else
- /* There are three ways to get the time:
- (1) gettimeofday() -- resolution in microseconds
- (2) ftime() -- resolution in milliseconds
- (3) time() -- resolution in seconds
- In all cases the return value in a timeval struct.
- Since on some systems (e.g. SCO ODT 3.0) gettimeofday() may
- fail, so we fall back on ftime() or time().
- Note: clock resolution does not imply clock accuracy! */
-
-#ifdef HAVE_GETTIMEOFDAY
+
+#else /* MS_WINDOWS */
int err;
+#ifdef HAVE_CLOCK_GETTIME
+ struct timespec ts;
+#endif
+
+ assert(info == NULL || raise);
+
+#ifdef HAVE_CLOCK_GETTIME
+ err = clock_gettime(CLOCK_REALTIME, &ts);
+ if (err) {
+ if (raise)
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+ }
+ tp->tv_sec = ts.tv_sec;
+ tp->tv_usec = ts.tv_nsec / 1000;
+
+ if (info) {
+ struct timespec res;
+ info->implementation = "clock_gettime(CLOCK_REALTIME)";
+ info->monotonic = 0;
+ info->adjustable = 1;
+ if (clock_getres(CLOCK_REALTIME, &res) == 0)
+ info->resolution = res.tv_sec + res.tv_nsec * 1e-9;
+ else
+ info->resolution = 1e-9;
+ }
+#else /* HAVE_CLOCK_GETTIME */
+
+ /* test gettimeofday() */
#ifdef GETTIMEOFDAY_NO_TZ
err = gettimeofday(tp);
#else
err = gettimeofday(tp, (struct timezone *)NULL);
#endif
- if (err == 0) {
- if (info) {
- info->implementation = "gettimeofday()";
- info->resolution = 1e-6;
- info->monotonic = 0;
- info->adjustable = 1;
- }
- return;
- }
-#endif /* HAVE_GETTIMEOFDAY */
-
-#if defined(HAVE_FTIME)
- {
- struct timeb t;
- ftime(&t);
- tp->tv_sec = t.time;
- tp->tv_usec = t.millitm * 1000;
- if (info) {
- info->implementation = "ftime()";
- info->resolution = 1e-3;
- info->monotonic = 0;
- info->adjustable = 1;
- }
+ if (err) {
+ if (raise)
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
}
-#else /* !HAVE_FTIME */
- tp->tv_sec = time(NULL);
- tp->tv_usec = 0;
+
if (info) {
- info->implementation = "time()";
- info->resolution = 1.0;
+ info->implementation = "gettimeofday()";
+ info->resolution = 1e-6;
info->monotonic = 0;
info->adjustable = 1;
}
-#endif /* !HAVE_FTIME */
-
-#endif /* MS_WINDOWS */
+#endif /* !HAVE_CLOCK_GETTIME */
+#endif /* !MS_WINDOWS */
+ assert(0 <= tp->tv_usec && tp->tv_usec < 1000 * 1000);
+ return 0;
}
void
_PyTime_gettimeofday(_PyTime_timeval *tp)
{
- pygettimeofday(tp, NULL);
+ if (pygettimeofday(tp, NULL, 0) < 0) {
+ /* cannot happen, _PyTime_Init() checks that pygettimeofday() works */
+ assert(0);
+ tp->tv_sec = 0;
+ tp->tv_usec = 0;
+ }
}
-void
+int
_PyTime_gettimeofday_info(_PyTime_timeval *tp, _Py_clock_info_t *info)
{
- pygettimeofday(tp, info);
+ return pygettimeofday(tp, info, 1);
+}
+
+static int
+pymonotonic(_PyTime_timeval *tp, _Py_clock_info_t *info, int raise)
+{
+#ifdef Py_DEBUG
+ static _PyTime_timeval last = {0, -1};
+#endif
+#if defined(MS_WINDOWS)
+ static ULONGLONG (*GetTickCount64) (void) = NULL;
+ static ULONGLONG (CALLBACK *Py_GetTickCount64)(void);
+ static int has_gettickcount64 = -1;
+ ULONGLONG result;
+
+ assert(info == NULL || raise);
+
+ if (has_gettickcount64 == -1) {
+ /* GetTickCount64() was added to Windows Vista */
+ has_gettickcount64 = (winver.dwMajorVersion >= 6);
+ if (has_gettickcount64) {
+ HINSTANCE hKernel32;
+ hKernel32 = GetModuleHandleW(L"KERNEL32");
+ *(FARPROC*)&Py_GetTickCount64 = GetProcAddress(hKernel32,
+ "GetTickCount64");
+ assert(Py_GetTickCount64 != NULL);
+ }
+ }
+
+ if (has_gettickcount64) {
+ result = Py_GetTickCount64();
+ }
+ else {
+ static DWORD last_ticks = 0;
+ static DWORD n_overflow = 0;
+ DWORD ticks;
+
+ ticks = GetTickCount();
+ if (ticks < last_ticks)
+ n_overflow++;
+ last_ticks = ticks;
+
+ result = (ULONGLONG)n_overflow << 32;
+ result += ticks;
+ }
+
+ tp->tv_sec = result / 1000;
+ tp->tv_usec = (result % 1000) * 1000;
+
+ if (info) {
+ DWORD timeAdjustment, timeIncrement;
+ BOOL isTimeAdjustmentDisabled, ok;
+ if (has_gettickcount64)
+ info->implementation = "GetTickCount64()";
+ else
+ info->implementation = "GetTickCount()";
+ info->monotonic = 1;
+ ok = GetSystemTimeAdjustment(&timeAdjustment, &timeIncrement,
+ &isTimeAdjustmentDisabled);
+ if (!ok) {
+ PyErr_SetFromWindowsErr(0);
+ return -1;
+ }
+ info->resolution = timeIncrement * 1e-7;
+ info->adjustable = 0;
+ }
+
+#elif defined(__APPLE__)
+ static mach_timebase_info_data_t timebase;
+ uint64_t time;
+
+ if (timebase.denom == 0) {
+ /* According to the Technical Q&A QA1398, mach_timebase_info() cannot
+ fail: https://developer.apple.com/library/mac/#qa/qa1398/ */
+ (void)mach_timebase_info(&timebase);
+ }
+
+ time = mach_absolute_time();
+
+ /* nanoseconds => microseconds */
+ time /= 1000;
+ /* apply timebase factor */
+ time *= timebase.numer;
+ time /= timebase.denom;
+ tp->tv_sec = time / (1000 * 1000);
+ tp->tv_usec = time % (1000 * 1000);
+
+ if (info) {
+ info->implementation = "mach_absolute_time()";
+ info->resolution = (double)timebase.numer / timebase.denom * 1e-9;
+ info->monotonic = 1;
+ info->adjustable = 0;
+ }
+
+#else
+ struct timespec ts;
+#ifdef CLOCK_HIGHRES
+ const clockid_t clk_id = CLOCK_HIGHRES;
+ const char *implementation = "clock_gettime(CLOCK_HIGHRES)";
+#else
+ const clockid_t clk_id = CLOCK_MONOTONIC;
+ const char *implementation = "clock_gettime(CLOCK_MONOTONIC)";
+#endif
+
+ assert(info == NULL || raise);
+
+ if (clock_gettime(clk_id, &ts) != 0) {
+ if (raise) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+ }
+ tp->tv_sec = 0;
+ tp->tv_usec = 0;
+ return -1;
+ }
+
+ if (info) {
+ struct timespec res;
+ info->monotonic = 1;
+ info->implementation = implementation;
+ info->adjustable = 0;
+ if (clock_getres(clk_id, &res) != 0) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return -1;
+ }
+ info->resolution = res.tv_sec + res.tv_nsec * 1e-9;
+ }
+ tp->tv_sec = ts.tv_sec;
+ tp->tv_usec = ts.tv_nsec / 1000;
+#endif
+ assert(0 <= tp->tv_usec && tp->tv_usec < 1000 * 1000);
+#ifdef Py_DEBUG
+ /* monotonic clock cannot go backward */
+ assert(last.tv_usec == -1
+ || tp->tv_sec > last.tv_sec
+ || (tp->tv_sec == last.tv_sec && tp->tv_usec >= last.tv_usec));
+ last = *tp;
+#endif
+ return 0;
+}
+
+void
+_PyTime_monotonic(_PyTime_timeval *tp)
+{
+ if (pymonotonic(tp, NULL, 0) < 0) {
+ /* cannot happen, _PyTime_Init() checks that pymonotonic() works */
+ assert(0);
+ tp->tv_sec = 0;
+ tp->tv_usec = 0;
+ }
+}
+
+int
+_PyTime_monotonic_info(_PyTime_timeval *tp, _Py_clock_info_t *info)
+{
+ return pymonotonic(tp, info, 1);
}
static void
@@ -245,8 +404,25 @@ _PyTime_ObjectToTimeval(PyObject *obj, time_t *sec, long *usec,
return _PyTime_ObjectToDenominator(obj, sec, usec, 1e6, round);
}
-void
-_PyTime_Init()
+int
+_PyTime_Init(void)
{
- /* Do nothing. Needed to force linking. */
+ _PyTime_timeval tv;
+
+#ifdef MS_WINDOWS
+ winver.dwOSVersionInfoSize = sizeof(winver);
+ if (!GetVersionEx((OSVERSIONINFO*)&winver)) {
+ PyErr_SetFromWindowsErr(0);
+ return -1;
+ }
+#endif
+
+ /* ensure that the system clock works */
+ if (_PyTime_gettimeofday_info(&tv, NULL) < 0)
+ return -1;
+
+ /* ensure that the operating system provides a monotonic clock */
+ if (_PyTime_monotonic_info(&tv, NULL) < 0)
+ return -1;
+ return 0;
}
diff --git a/Python/sysmodule.c b/Python/sysmodule.c
index 290eec1..0639231 100644
--- a/Python/sysmodule.c
+++ b/Python/sysmodule.c
@@ -1121,6 +1121,16 @@ PyDoc_STRVAR(sys_clear_type_cache__doc__,
"_clear_type_cache() -> None\n\
Clear the internal type lookup cache.");
+static PyObject *
+sys_is_finalizing(PyObject* self, PyObject* args)
+{
+ return PyBool_FromLong(_Py_Finalizing != NULL);
+}
+
+PyDoc_STRVAR(is_finalizing_doc,
+"is_finalizing()\n\
+Return True if Python is exiting.");
+
static PyMethodDef sys_methods[] = {
/* Might as well keep this in alphabetic order */
@@ -1167,6 +1177,7 @@ static PyMethodDef sys_methods[] = {
getwindowsversion_doc},
#endif /* MS_WINDOWS */
{"intern", sys_intern, METH_VARARGS, intern_doc},
+ {"is_finalizing", sys_is_finalizing, METH_NOARGS, is_finalizing_doc},
#ifdef USE_MALLOPT
{"mdebug", sys_mdebug, METH_VARARGS},
#endif
@@ -1681,7 +1692,7 @@ _PySys_Init(void)
}
#endif
- /* stdin/stdout/stderr are now set by pythonrun.c */
+ /* stdin/stdout/stderr are set in pylifecycle.c */
SET_SYS_FROM_STRING_BORROW("__displayhook__",
PyDict_GetItemString(sysdict, "displayhook"));
diff --git a/Python/thread.c b/Python/thread.c
index 4e695ae..44c071e 100644
--- a/Python/thread.c
+++ b/Python/thread.c
@@ -431,7 +431,7 @@ PyThread_GetInfo(void)
&& defined(_CS_GNU_LIBPTHREAD_VERSION))
value = NULL;
len = confstr(_CS_GNU_LIBPTHREAD_VERSION, buffer, sizeof(buffer));
- if (1 < len && len < sizeof(buffer)) {
+ if (1 < len && (size_t)len < sizeof(buffer)) {
value = PyUnicode_DecodeFSDefaultAndSize(buffer, len-1);
if (value == NULL)
PyErr_Clear();
diff --git a/Python/thread_foobar.h b/Python/thread_foobar.h
index d2b78c5..ea96f9c 100644
--- a/Python/thread_foobar.h
+++ b/Python/thread_foobar.h
@@ -1,4 +1,3 @@
-
/*
* Initialization.
*/
@@ -61,10 +60,18 @@ PyThread_free_lock(PyThread_type_lock lock)
int
PyThread_acquire_lock(PyThread_type_lock lock, int waitflag)
{
+ return PyThread_acquire_lock_timed(lock, waitflag ? -1 : 0, 0);
+}
+
+PyLockStatus
+PyThread_acquire_lock_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds,
+ int intr_flag)
+{
int success;
- dprintf(("PyThread_acquire_lock(%p, %d) called\n", lock, waitflag));
- dprintf(("PyThread_acquire_lock(%p, %d) -> %d\n", lock, waitflag, success));
+ dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) called\n", lock, microseconds, intr_flag));
+ dprintf(("PyThread_acquire_lock_timed(%p, %lld, %d) -> %d\n",
+ lock, microseconds, intr_flag, success));
return success;
}
@@ -73,3 +80,53 @@ PyThread_release_lock(PyThread_type_lock lock)
{
dprintf(("PyThread_release_lock(%p) called\n", lock));
}
+
+/* The following are only needed if native TLS support exists */
+#define Py_HAVE_NATIVE_TLS
+
+#ifdef Py_HAVE_NATIVE_TLS
+int
+PyThread_create_key(void)
+{
+ int result;
+ return result;
+}
+
+void
+PyThread_delete_key(int key)
+{
+
+}
+
+int
+PyThread_set_key_value(int key, void *value)
+{
+ int ok;
+
+ /* A failure in this case returns -1 */
+ if (!ok)
+ return -1;
+ return 0;
+}
+
+void *
+PyThread_get_key_value(int key)
+{
+ void *result;
+
+ return result;
+}
+
+void
+PyThread_delete_key_value(int key)
+{
+
+}
+
+void
+PyThread_ReInitTLS(void)
+{
+
+}
+
+#endif
diff --git a/Python/thread_pthread.h b/Python/thread_pthread.h
index d9f7c76..27e0dc8 100644
--- a/Python/thread_pthread.h
+++ b/Python/thread_pthread.h
@@ -608,7 +608,15 @@ PyThread_create_key(void)
{
pthread_key_t key;
int fail = pthread_key_create(&key, NULL);
- return fail ? -1 : key;
+ if (fail)
+ return -1;
+ if (key > INT_MAX) {
+ /* Issue #22206: handle integer overflow */
+ pthread_key_delete(key);
+ errno = ENOMEM;
+ return -1;
+ }
+ return (int)key;
}
void
diff --git a/Python/traceback.c b/Python/traceback.c
index c2aba52..e3adc96 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -231,7 +231,7 @@ _Py_FindSourceFile(PyObject *filename, char* namebuf, size_t namelen, PyObject *
}
strcpy(namebuf, PyBytes_AS_STRING(path));
Py_DECREF(path);
- if (strlen(namebuf) != len)
+ if (strlen(namebuf) != (size_t)len)
continue; /* v contains '\0' */
if (len > 0 && namebuf[len-1] != SEP)
namebuf[len++] = SEP;
@@ -575,15 +575,16 @@ dump_ascii(int fd, PyObject *text)
ch = PyUnicode_READ(kind, data, i);
else
ch = wstr[i];
- if (ch < 128) {
+ if (' ' <= ch && ch <= 126) {
+ /* printable ASCII character */
char c = (char)ch;
write(fd, &c, 1);
}
- else if (ch < 0xff) {
+ else if (ch <= 0xff) {
PUTS(fd, "\\x");
dump_hexadecimal(fd, ch, 2);
}
- else if (ch < 0xffff) {
+ else if (ch <= 0xffff) {
PUTS(fd, "\\u");
dump_hexadecimal(fd, ch, 4);
}
@@ -678,7 +679,7 @@ write_thread_id(int fd, PyThreadState *tstate, int is_current)
PUTS(fd, "Current thread 0x");
else
PUTS(fd, "Thread 0x");
- dump_hexadecimal(fd, (unsigned long)tstate->thread_id, sizeof(long)*2);
+ dump_hexadecimal(fd, (unsigned long)tstate->thread_id, sizeof(unsigned long)*2);
PUTS(fd, " (most recent call first):\n");
}